@aalis/runtime 0.12.5 → 0.14.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 +25 -0
- package/dist/bootstrap-buffer.d.ts +5 -4
- package/dist/bootstrap-buffer.d.ts.map +1 -1
- package/dist/bootstrap-buffer.js +1 -1
- package/dist/bootstrap-buffer.js.map +1 -1
- package/dist/config-store.d.ts +38 -0
- package/dist/config-store.d.ts.map +1 -0
- package/dist/config-store.js +171 -0
- package/dist/config-store.js.map +1 -0
- package/dist/config-sync.d.ts +28 -9
- package/dist/config-sync.d.ts.map +1 -1
- package/dist/config-sync.js +125 -82
- package/dist/config-sync.js.map +1 -1
- package/dist/console-sink.d.ts +8 -3
- package/dist/console-sink.d.ts.map +1 -1
- package/dist/console-sink.js +15 -3
- package/dist/console-sink.js.map +1 -1
- package/dist/file-logger.d.ts.map +1 -1
- package/dist/file-logger.js +2 -1
- package/dist/file-logger.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/node-modules-loader.d.ts +20 -8
- package/dist/node-modules-loader.d.ts.map +1 -1
- package/dist/node-modules-loader.js +84 -44
- package/dist/node-modules-loader.js.map +1 -1
- package/dist/plugin-discovery.d.ts +42 -0
- package/dist/plugin-discovery.d.ts.map +1 -0
- package/dist/plugin-discovery.js +100 -0
- package/dist/plugin-discovery.js.map +1 -0
- package/dist/providers.d.ts +10 -9
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +77 -44
- package/dist/providers.js.map +1 -1
- package/dist/start.d.ts +14 -2
- package/dist/start.d.ts.map +1 -1
- package/dist/start.js +75 -39
- package/dist/start.js.map +1 -1
- package/dist/subcommand.d.ts +3 -3
- package/dist/subcommand.d.ts.map +1 -1
- package/dist/subcommand.js +3 -3
- package/dist/subcommand.js.map +1 -1
- package/dist/terminal.d.ts +1 -1
- package/dist/terminal.js +1 -1
- package/package.json +8 -8
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { parseInstanceId } from '@aalis/core';
|
|
2
|
+
/**
|
|
3
|
+
* @param doc 配置文档:登记时按实例 id 取配置与禁用标记,并从中枚举 `name:suffix` 实例。
|
|
4
|
+
* 配置原样交给 core,默认值回填由加载器一侧的政策(withPluginConfigSync)先写进文档。
|
|
5
|
+
*/
|
|
6
|
+
export function createPluginDiscovery(app, loader, doc) {
|
|
7
|
+
const log = app.logger;
|
|
8
|
+
const registration = (definition, instanceId = definition.name) => ({
|
|
9
|
+
definition,
|
|
10
|
+
instanceId,
|
|
11
|
+
config: doc.getPluginConfig(instanceId),
|
|
12
|
+
disabled: doc.isPluginDisabled(instanceId),
|
|
13
|
+
});
|
|
14
|
+
/** 导入一批描述符并备好各自的登记项;单个失败(含 id 撞上危险键、文档拒取)只记该条,不拖累其余 */
|
|
15
|
+
async function importAll(descriptors, fresh) {
|
|
16
|
+
const loaded = [];
|
|
17
|
+
for (const desc of descriptors) {
|
|
18
|
+
try {
|
|
19
|
+
// 加载器已按入口约定判定(pluginDefinitionOf),不是插件返回 null;定义本身的校验在注册时做
|
|
20
|
+
const definition = fresh && loader.reload ? await loader.reload(desc) : await loader.load(desc);
|
|
21
|
+
if (!definition)
|
|
22
|
+
continue;
|
|
23
|
+
loaded.push(registration(definition));
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
log.error(`加载插件 "${desc.name}" 失败:`, err);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return loaded;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 配置键里的 `name:suffix` 实例:模块查得到定义才登记,已在注册表的跳过。
|
|
33
|
+
* 冷启动、热扫描与热重载共用,任何一处都不得少收
|
|
34
|
+
*/
|
|
35
|
+
function configuredInstances(definitionOf) {
|
|
36
|
+
const items = [];
|
|
37
|
+
for (const configKey of Object.keys(doc.get('plugins') ?? {})) {
|
|
38
|
+
const { moduleName, suffix } = parseInstanceId(configKey);
|
|
39
|
+
if (!suffix || app.plugins.getPlugin(configKey))
|
|
40
|
+
continue;
|
|
41
|
+
const definition = definitionOf(moduleName);
|
|
42
|
+
if (definition)
|
|
43
|
+
items.push(registration(definition, configKey));
|
|
44
|
+
else
|
|
45
|
+
log.warn(`多实例配置 "${configKey}" 对应的模块 "${moduleName}" 未找到,跳过`);
|
|
46
|
+
}
|
|
47
|
+
return items;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 单实例配置段找不到对应插件(多为直接 `npm uninstall` 后残留):冷启动时逐段告警一次。
|
|
51
|
+
* 发现到却导入失败的已有加载错误,不重复报;多实例键由 {@link configuredInstances} 报。
|
|
52
|
+
*/
|
|
53
|
+
function warnOrphanedConfig(known, discovered) {
|
|
54
|
+
const attempted = new Set(discovered.map(d => d.name));
|
|
55
|
+
for (const configKey of Object.keys(doc.get('plugins') ?? {})) {
|
|
56
|
+
if (parseInstanceId(configKey).suffix)
|
|
57
|
+
continue;
|
|
58
|
+
if (known.has(configKey) || attempted.has(configKey) || app.plugins.getPlugin(configKey))
|
|
59
|
+
continue;
|
|
60
|
+
log.warn(`配置段 "${configKey}" 对应的插件未找到,已忽略;若已卸载可删除该段(其中可能含密钥)`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
async loadAll() {
|
|
65
|
+
const discovered = await loader.discover();
|
|
66
|
+
log.info(`发现 ${discovered.length} 个插件`);
|
|
67
|
+
const loaded = await importAll(discovered, false);
|
|
68
|
+
const known = new Map(loaded.map(item => [item.definition.name, item.definition]));
|
|
69
|
+
warnOrphanedConfig(known, discovered);
|
|
70
|
+
await app.pluginAll([...loaded, ...configuredInstances(name => known.get(name))]);
|
|
71
|
+
// app:ready / app:started 的发出时机依赖「返回即全部收敛」;引导路径不在任何 apply 内,无自等死锁面。
|
|
72
|
+
await app.plugins.idle();
|
|
73
|
+
},
|
|
74
|
+
async rescan() {
|
|
75
|
+
const known = new Map();
|
|
76
|
+
const fresh = [];
|
|
77
|
+
for (const desc of await loader.discover()) {
|
|
78
|
+
const registered = app.plugins.getPlugin(desc.name);
|
|
79
|
+
if (registered)
|
|
80
|
+
known.set(registered.definition.name, registered.definition);
|
|
81
|
+
else
|
|
82
|
+
fresh.push(desc);
|
|
83
|
+
}
|
|
84
|
+
const loaded = await importAll(fresh, true);
|
|
85
|
+
for (const item of loaded)
|
|
86
|
+
known.set(item.definition.name, item.definition);
|
|
87
|
+
const results = await app.pluginAll([...loaded, ...configuredInstances(name => known.get(name))]);
|
|
88
|
+
// 模块自报的 name 与描述符不同且已注册时 register 会拒绝——那不算热加载,不报进名单。
|
|
89
|
+
// 报的是登记进注册表的主实例名(定义名),不是加载器给的描述符名(通常是包名,二者可以不同)。
|
|
90
|
+
const names = loaded.filter((_, i) => results[i]).map(item => item.definition.name);
|
|
91
|
+
for (const name of names)
|
|
92
|
+
log.info(`热加载插件: ${name}`);
|
|
93
|
+
return names;
|
|
94
|
+
},
|
|
95
|
+
async registerConfiguredInstances() {
|
|
96
|
+
await app.pluginAll(configuredInstances(name => app.plugins.getPlugin(name)?.definition));
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=plugin-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-discovery.js","sourceRoot":"","sources":["../src/plugin-discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.d.ts
CHANGED
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AalisConfig } from '@aalis/api-host-config';
|
|
2
|
+
import type { RestartStrategy } from '@aalis/core';
|
|
3
|
+
import type { ConfigProvider } from './config-store.js';
|
|
4
|
+
import type { PluginLoader } from './plugin-discovery.js';
|
|
2
5
|
interface FsYamlConfigProviderResult {
|
|
3
|
-
/**
|
|
6
|
+
/** 当前快照(交给 `createConfigStore(config, provider)` 作初始文档) */
|
|
4
7
|
config: AalisConfig;
|
|
5
|
-
/** Provider
|
|
8
|
+
/** Provider 实例(交给 `createConfigStore(config, provider)`) */
|
|
6
9
|
provider: ConfigProvider;
|
|
7
|
-
/** 配置文件所在目录(用于 `new App({ dataDir })`) */
|
|
8
|
-
dataDir: string;
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
11
12
|
* 创建一个基于 YAML 文件的 ConfigProvider。
|
|
12
13
|
*
|
|
13
14
|
* - 同步读取 + 解析(值原样加载,不做任何替换——`${VAR}` 插值已随 `.env` 机制删除)
|
|
14
|
-
* - `save()`
|
|
15
|
+
* - `save()` 同步写回;写前比对盘上内容,有尚未生效的外部修改时拒写(抛 {@link ConfigSaveRefusedError},只带路径)
|
|
15
16
|
* - `watch()` 监听**配置文件所在目录**(按文件名过滤)+ 300ms debounce,
|
|
16
|
-
* 并通过与 `rawYaml`
|
|
17
|
+
* 并通过与 `rawYaml` 的内容比对去重,避免自激;拒写之后的下一次变更不去重;武装后立即对账一次
|
|
17
18
|
*
|
|
18
|
-
*
|
|
19
|
+
* 返回 config 快照与 provider,供宿主组装 App。
|
|
19
20
|
*/
|
|
20
21
|
export declare function createFsYamlConfigProvider(configPath?: string): FsYamlConfigProviderResult;
|
|
21
22
|
/**
|
|
22
23
|
* 创建一个基于 packages 目录扫描的 PluginLoader。
|
|
23
24
|
*
|
|
24
25
|
* - `discover()`:读 dir 下每个子目录的 package.json,按 aalis-plugin 关键词收录可加载插件
|
|
25
|
-
* - `load()
|
|
26
|
+
* - `load()`:先经 assertSameCore 核对 core 是宿主那份,再用 `pathToFileURL(entry).href` 动态 import
|
|
26
27
|
* - `reload()`:用入口文件 mtime 作为 import URL 的 query 强制 ESM 缓存失效
|
|
27
28
|
*/
|
|
28
29
|
export declare function createFsPluginLoader(packagesDir?: string): PluginLoader;
|
package/dist/providers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,WAAW,EAA0B,MAAM,wBAAwB,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOxD,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AA4C5E,UAAU,0BAA0B;IAClC,2DAA2D;IAC3D,MAAM,EAAE,WAAW,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,0BAA0B,CA8L1F;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CA4CvE;AAMD,0CAA0C;AAC1C,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC3E;;;OAGG;IACH,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAGlE;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,kDAAkD;AAClD,wBAAgB,mBAAmB,CACjC,IAAI,GAAE,SAAS,MAAM,EAAiB,EACtC,QAAQ,GAAE,SAAS,MAAM,EAAqB,EAC9C,GAAG,GAAE,MAAsB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAYlC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,GAAE,cAAmB,GAAG,eAAe,CAiHvF"}
|
package/dist/providers.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { randomBytes } from 'node:crypto';
|
|
3
3
|
import { chmodSync, existsSync, watch as fsWatch, readFileSync, renameSync, rmSync, statSync, writeFileSync, } from 'node:fs';
|
|
4
|
-
import { readdir
|
|
4
|
+
import { readdir } from 'node:fs/promises';
|
|
5
5
|
import { basename, dirname, resolve } from 'node:path';
|
|
6
|
-
import {
|
|
6
|
+
import { ConfigSaveRefusedError } from '@aalis/api-host-config';
|
|
7
7
|
import { DefaultLogger } from '@aalis/core';
|
|
8
8
|
import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
|
|
9
|
-
import {
|
|
9
|
+
import { HOST_CORE_DIR, importPluginDefinition, isLoadablePlugin, warnLikelyPluginMissingKeyword, } from './node-modules-loader.js';
|
|
10
10
|
import { disarmTerminalStateRestorer } from './terminal.js';
|
|
11
11
|
// ============================================================
|
|
12
12
|
// FsYamlConfigProvider —— 从 YAML 文件加载+持久化配置
|
|
@@ -51,16 +51,20 @@ function buildSaveYaml(config) {
|
|
|
51
51
|
* 创建一个基于 YAML 文件的 ConfigProvider。
|
|
52
52
|
*
|
|
53
53
|
* - 同步读取 + 解析(值原样加载,不做任何替换——`${VAR}` 插值已随 `.env` 机制删除)
|
|
54
|
-
* - `save()`
|
|
54
|
+
* - `save()` 同步写回;写前比对盘上内容,有尚未生效的外部修改时拒写(抛 {@link ConfigSaveRefusedError},只带路径)
|
|
55
55
|
* - `watch()` 监听**配置文件所在目录**(按文件名过滤)+ 300ms debounce,
|
|
56
|
-
* 并通过与 `rawYaml`
|
|
56
|
+
* 并通过与 `rawYaml` 的内容比对去重,避免自激;拒写之后的下一次变更不去重;武装后立即对账一次
|
|
57
57
|
*
|
|
58
|
-
*
|
|
58
|
+
* 返回 config 快照与 provider,供宿主组装 App。
|
|
59
59
|
*/
|
|
60
60
|
export function createFsYamlConfigProvider(configPath) {
|
|
61
61
|
const absPath = configPath ? resolve(configPath) : resolve(process.cwd(), DEFAULT_CONFIG_FILE);
|
|
62
62
|
const dataDir = dirname(absPath);
|
|
63
63
|
let rawYaml = null;
|
|
64
|
+
// 拒写之后调用方手里的配置文档(常连同运行态)已领先于文件:下一次文件变更不论内容是否等于 rawYaml
|
|
65
|
+
// 都要投递,让宿主按文件重新对账。否则把文件原样改回的「修好」会被当成空变更跳过,文档与运行态从此
|
|
66
|
+
// 偏离文件,下一次成功保存还会把被拒的改动写进去。
|
|
67
|
+
let reconcilePending = false;
|
|
64
68
|
let watcher = null;
|
|
65
69
|
let debounceTimer = null;
|
|
66
70
|
// 走 LogHub 而非 console:file logger 只订阅 LogHub,脱终端部署下 stderr
|
|
@@ -109,6 +113,21 @@ export function createFsYamlConfigProvider(configPath) {
|
|
|
109
113
|
const initialConfig = loadFromDisk();
|
|
110
114
|
const provider = {
|
|
111
115
|
save(config) {
|
|
116
|
+
// 写前比对磁盘实况:盘上内容必须仍是本进程最后读入或写出的那份。不是,就有尚未生效的
|
|
117
|
+
// 外部修改(去抖窗口内、监听未武装、解析失败被搁置、另一个进程写过)——整份覆写会把它
|
|
118
|
+
// 静默吃掉,所以拒写,让调用方收到拒绝。文件不存在时没有可保护的内容,照写。
|
|
119
|
+
let onDisk = null;
|
|
120
|
+
try {
|
|
121
|
+
onDisk = readFileSync(absPath, 'utf-8');
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
if (err.code !== 'ENOENT')
|
|
125
|
+
throw err;
|
|
126
|
+
}
|
|
127
|
+
if (onDisk !== null && onDisk !== rawYaml) {
|
|
128
|
+
reconcilePending = true;
|
|
129
|
+
throw new ConfigSaveRefusedError(`配置文件有尚未生效的外部修改,为免覆盖已拒绝本次保存(${absPath})`);
|
|
130
|
+
}
|
|
112
131
|
const yaml = buildSaveYaml(config);
|
|
113
132
|
// 原子写:先写临时文件再 rename(同目录同分区,rename 原子覆盖)。
|
|
114
133
|
// 直接 writeFileSync 是 O_CREAT|O_TRUNC——写中断(磁盘写满 / 进程被杀)时截断已经发生、
|
|
@@ -117,18 +136,39 @@ export function createFsYamlConfigProvider(configPath) {
|
|
|
117
136
|
// 连「文件坏了」的现场都不留。同仓 plugin-storage-local 早已为同样的理由做原子写。
|
|
118
137
|
// watch() 守的是目录而非文件(见下),所以 rename 换 inode 不会打断热重载。
|
|
119
138
|
const tmp = `${absPath}.tmp.${process.pid}.${randomBytes(4).toString('hex')}`;
|
|
120
|
-
|
|
121
|
-
//
|
|
122
|
-
//
|
|
139
|
+
// 临时文件建出来就是收紧的权限:沿用原文件的权限位,没有原文件(或取不到)时用 0o600。
|
|
140
|
+
// 配置文件常含密钥:按默认 umask(通常 0644)建出再 chmod,其间或进程在 rename 前被杀时,
|
|
141
|
+
// 目录里就有一份权限更宽的密钥副本;rename 让目标继承 tmp 的权限,用户 chmod 600 过的也不能退回 0644。
|
|
142
|
+
let mode = 0o600;
|
|
123
143
|
try {
|
|
124
|
-
|
|
125
|
-
chmodSync(tmp, statSync(absPath).mode & 0o777);
|
|
144
|
+
mode = statSync(absPath).mode & 0o777;
|
|
126
145
|
}
|
|
127
146
|
catch {
|
|
128
|
-
/*
|
|
147
|
+
/* 原文件不存在或取不到权限:按 0o600 建 */
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
writeFileSync(tmp, yaml, { encoding: 'utf-8', mode });
|
|
151
|
+
// 建文件时的 mode 还会被 umask 收窄;对齐回目标权限位,至多放宽到原文件本就有的程度
|
|
152
|
+
try {
|
|
153
|
+
chmodSync(tmp, mode);
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
/* 对不齐就保持建出时更窄的权限,不拖累写入本身 */
|
|
157
|
+
}
|
|
158
|
+
renameSync(tmp, absPath);
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
// 写入或改名失败:临时文件是整份配置(含密钥),不能留在配置目录里
|
|
162
|
+
try {
|
|
163
|
+
rmSync(tmp, { force: true });
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
/* 删不掉也要把原始错误传出去 */
|
|
167
|
+
}
|
|
168
|
+
throw err;
|
|
129
169
|
}
|
|
130
|
-
renameSync(tmp, absPath);
|
|
131
170
|
rawYaml = yaml;
|
|
171
|
+
reconcilePending = false;
|
|
132
172
|
},
|
|
133
173
|
watch(onChange) {
|
|
134
174
|
if (watcher)
|
|
@@ -138,15 +178,7 @@ export function createFsYamlConfigProvider(configPath) {
|
|
|
138
178
|
return () => { };
|
|
139
179
|
const fileName = basename(absPath);
|
|
140
180
|
try {
|
|
141
|
-
|
|
142
|
-
// 保存普遍是「写临时文件 → rename 覆盖」——rename 之后同名文件已是新 inode,
|
|
143
|
-
// 绑在旧 inode 上的 watcher 从此永不触发,且无异常、无日志、无返回值。
|
|
144
|
-
// save() 同样是「写临时文件 → rename」(见上),自写回也会换 inode——守文件在
|
|
145
|
-
// 第一次保存后就失聪;守目录则人改与自写回两种来源都接得住。
|
|
146
|
-
watcher = fsWatch(dataDir, (_event, filename) => {
|
|
147
|
-
// filename 平台不保证非空;为空时不敢过滤,交给下面的内容比对兜底。
|
|
148
|
-
if (filename && basename(filename.toString()) !== fileName)
|
|
149
|
-
return;
|
|
181
|
+
const schedule = () => {
|
|
150
182
|
if (debounceTimer)
|
|
151
183
|
clearTimeout(debounceTimer);
|
|
152
184
|
debounceTimer = setTimeout(() => {
|
|
@@ -162,8 +194,8 @@ export function createFsYamlConfigProvider(configPath) {
|
|
|
162
194
|
return;
|
|
163
195
|
}
|
|
164
196
|
// rawYaml 在装载 / save / 本回调三处维护,比对它一并挡掉自写回、目录里
|
|
165
|
-
// 无关文件的杂音、touch
|
|
166
|
-
if (current === rawYaml)
|
|
197
|
+
// 无关文件的杂音、touch,以及改完又改回来的空变更。拒写之后的这一次除外(见 reconcilePending)。
|
|
198
|
+
if (current === rawYaml && !reconcilePending)
|
|
167
199
|
return;
|
|
168
200
|
let parsed;
|
|
169
201
|
try {
|
|
@@ -183,6 +215,7 @@ export function createFsYamlConfigProvider(configPath) {
|
|
|
183
215
|
return;
|
|
184
216
|
}
|
|
185
217
|
rawYaml = current;
|
|
218
|
+
reconcilePending = false;
|
|
186
219
|
try {
|
|
187
220
|
onChange(parsed);
|
|
188
221
|
}
|
|
@@ -191,10 +224,24 @@ export function createFsYamlConfigProvider(configPath) {
|
|
|
191
224
|
logger.warn(`配置变更处理器抛错:${err instanceof Error ? err.message : String(err)}`);
|
|
192
225
|
}
|
|
193
226
|
}, 300);
|
|
227
|
+
};
|
|
228
|
+
// **必须监听目录,不能监听文件本身。** fs.watch 绑的是那一刻的 inode,而编辑器
|
|
229
|
+
// 保存普遍是「写临时文件 → rename 覆盖」——rename 之后同名文件已是新 inode,
|
|
230
|
+
// 绑在旧 inode 上的 watcher 从此永不触发,且无异常、无日志、无返回值。
|
|
231
|
+
// save() 同样是「写临时文件 → rename」(见上),自写回也会换 inode——守文件在
|
|
232
|
+
// 第一次保存后就失聪;守目录则人改与自写回两种来源都接得住。
|
|
233
|
+
watcher = fsWatch(dataDir, (_event, filename) => {
|
|
234
|
+
// filename 平台不保证非空;为空时不敢过滤,交给下面的内容比对兜底。
|
|
235
|
+
if (filename && basename(filename.toString()) !== fileName)
|
|
236
|
+
return;
|
|
237
|
+
schedule();
|
|
194
238
|
});
|
|
239
|
+
// 武装即对账一次:武装前(启动期)的外部修改不会再有事件,不补就既不生效、又让 save 一直拒写。
|
|
240
|
+
schedule();
|
|
195
241
|
}
|
|
196
|
-
catch {
|
|
197
|
-
|
|
242
|
+
catch (err) {
|
|
243
|
+
// 平台或挂载不支持 watch:外部修改从此不会自动生效,save 也会因盘上内容已变而拒写。
|
|
244
|
+
logger.warn(`无法监听配置文件变更(${err instanceof Error ? err.message : String(err)}):手动修改后需重启才生效,重启前的进程保存会被拒绝`);
|
|
198
245
|
}
|
|
199
246
|
return () => {
|
|
200
247
|
if (debounceTimer) {
|
|
@@ -206,7 +253,7 @@ export function createFsYamlConfigProvider(configPath) {
|
|
|
206
253
|
};
|
|
207
254
|
},
|
|
208
255
|
};
|
|
209
|
-
return { config: initialConfig, provider
|
|
256
|
+
return { config: initialConfig, provider };
|
|
210
257
|
}
|
|
211
258
|
// ============================================================
|
|
212
259
|
// FsPluginLoader —— 扫描目录 + dynamic import
|
|
@@ -215,7 +262,7 @@ export function createFsYamlConfigProvider(configPath) {
|
|
|
215
262
|
* 创建一个基于 packages 目录扫描的 PluginLoader。
|
|
216
263
|
*
|
|
217
264
|
* - `discover()`:读 dir 下每个子目录的 package.json,按 aalis-plugin 关键词收录可加载插件
|
|
218
|
-
* - `load()
|
|
265
|
+
* - `load()`:先经 assertSameCore 核对 core 是宿主那份,再用 `pathToFileURL(entry).href` 动态 import
|
|
219
266
|
* - `reload()`:用入口文件 mtime 作为 import URL 的 query 强制 ESM 缓存失效
|
|
220
267
|
*/
|
|
221
268
|
export function createFsPluginLoader(packagesDir) {
|
|
@@ -258,22 +305,8 @@ export function createFsPluginLoader(packagesDir) {
|
|
|
258
305
|
}
|
|
259
306
|
return discovered;
|
|
260
307
|
},
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
warnShape(loaderLogger, desc.name, mod);
|
|
264
|
-
return mod;
|
|
265
|
-
},
|
|
266
|
-
async reload(desc) {
|
|
267
|
-
let cacheKey = '';
|
|
268
|
-
try {
|
|
269
|
-
cacheKey = `?t=${(await stat(desc.source)).mtimeMs}`;
|
|
270
|
-
}
|
|
271
|
-
catch {
|
|
272
|
-
/* stat 失败时用空 key,让 import 自己报错 */
|
|
273
|
-
}
|
|
274
|
-
const mod = unwrapPluginModule(await import(pathToFileURL(desc.source).href + cacheKey));
|
|
275
|
-
return mod;
|
|
276
|
-
},
|
|
308
|
+
load: desc => importPluginDefinition(desc, HOST_CORE_DIR, loaderLogger, false),
|
|
309
|
+
reload: desc => importPluginDefinition(desc, HOST_CORE_DIR, loaderLogger, true),
|
|
277
310
|
};
|
|
278
311
|
}
|
|
279
312
|
// ============================================================
|
package/dist/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
package/dist/start.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { App
|
|
1
|
+
import { App } from '@aalis/core';
|
|
2
2
|
import { type ConfigSyncOptions } from './config-sync.js';
|
|
3
|
+
import { type PluginLoader } from './plugin-discovery.js';
|
|
3
4
|
export interface StartAalisOptions {
|
|
4
5
|
/** aalis.config.yaml 路径,默认 cwd 下的 aalis.config.yaml */
|
|
5
6
|
configPath?: string;
|
|
@@ -7,7 +8,11 @@ export interface StartAalisOptions {
|
|
|
7
8
|
projectDir?: string;
|
|
8
9
|
/** 插件加载器,默认 createNodeModulesPluginLoader(projectDir);monorepo 传 createFsPluginLoader() 扫 packages/ */
|
|
9
10
|
pluginLoader?: PluginLoader;
|
|
10
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* 彩色控制台日志,默认 true(独立部署即有全量级别)。webui-only/嵌入式/测试夹具可传 false:
|
|
13
|
+
* 此时仍把 warn/error 打到 stderr(「装了没反应」与插件解析到「另一份 @aalis/core」被拒载必须出声),
|
|
14
|
+
* 不写 info/debug、不占 stdout。
|
|
15
|
+
*/
|
|
11
16
|
consoleSink?: boolean;
|
|
12
17
|
/**
|
|
13
18
|
* 文件日志:true→data/latest.log,string→自定义路径,false→关。默认 true(webui/cli 尾读此文件)。
|
|
@@ -29,5 +34,12 @@ export interface StartAalisOptions {
|
|
|
29
34
|
*/
|
|
30
35
|
configSync?: ConfigSyncOptions;
|
|
31
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* 启动一个 Aalis 实例:YAML 配置 + 插件加载 + 进程级重启 + 日志/终端/子命令宿主件。
|
|
39
|
+
* 返回已启动的 App(便于测试或进一步操作)。
|
|
40
|
+
*
|
|
41
|
+
* 生命周期不变量:① `consoleHandle.bindEvents` 必须在 `new App` 之后(之前没有事件总线);
|
|
42
|
+
* ② 子命令短路必须在 `app.start` 之前。
|
|
43
|
+
*/
|
|
32
44
|
export declare function startAalis(opts?: StartAalisOptions): Promise<App>;
|
|
33
45
|
//# sourceMappingURL=start.d.ts.map
|
package/dist/start.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAA4C,MAAM,aAAa,CAAC;AAG5E,OAAO,EAAE,KAAK,iBAAiB,EAAgD,MAAM,kBAAkB,CAAC;AAIxG,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAyBjF,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uGAAuG;IACvG,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAeD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,CAyK3E"}
|