build: 重建 dist(插件 priority 生效 + 静态连接池类型 + 常量注释修正)

This commit is contained in:
thzxx
2026-09-15 08:09:19 +08:00
parent 34efde701c
commit 714e7f98a4
12 changed files with 131 additions and 36 deletions
+35 -2
View File
@@ -144,7 +144,14 @@ interface DatabaseConfig {
name: string;
/** 存储模式 */
mode?: StorageMode;
/** 磁盘引擎(仅 mode='disk'|'hybrid' 时生效) */
/**
* 磁盘后端选择。
*
* v0.8.0 修正注释:**仅 `mode: 'aria'` 真正生效**(作为 Aria 的存储后端,
* 见 core.ts 的 aria 分支)。`disk` 模式恒用自研 KVStoreEngine
* `hybrid` 的内存+磁盘组合也恒用 KVStoreEngine —— 两者会忽略本项
*(此前注释写成"disk 模式生效",与实现相反)。
*/
diskEngine?: DiskEngine;
/** 版本号 */
version?: number;
@@ -212,7 +219,13 @@ interface MetonaPlugin {
version: string;
/** 描述 */
description?: string;
/** 优先级,越大越先执行 */
/**
* 优先级:**越大越先执行**(含 `install()` 与钩子触发顺序)。
*
* v0.8.0 起真正生效 —— Core 会先按 priority 降序稳定排序再注册插件
*(同优先级保持 config 数组顺序)。此前 register() 虽按优先级插入数组,
* 但 install() 在 register 内立即执行,实际顺序 = config 数组顺序。
*/
priority?: number;
/** 安装 */
install(db: unknown): void;
@@ -1204,6 +1217,26 @@ declare class MetonaSqlark {
* 只有经 `connect()` 取得的实例才有,直接调用会抛错(而不是静默无操作)。
*/
disconnect?: () => Promise<void>;
/**
* v0.8.0:连接池静态 API 的类型声明。
*
* 这些方法由 `src/connection-manager.ts` **运行时注入**`MetonaSqlark.connect = ...`)。
* 此前注入侧用 `as unknown as Record<string, unknown>` 绕过类型检查,
* 于是 README「连接池」一节里的 `MetonaSqlark.connect(...)` /
* `MetonaSqlark.disconnectAll()` 在 TypeScript 下全部报 TS2339
*"属性不存在"),使用者只能 `as any`。
*
* 声明为 `?` 可选是因为它们**只在 import 了 connection-manager 的构建里存在**
* 核心入口不 import 它(避免无谓的模块副作用)。真正常用的路径是
* `MetonaSqlark.create()`。
*/
static connect?: (config: DatabaseConfig) => Promise<MetonaSqlark>;
/** 按库名释放一个连接引用(等价于实例上的 `disconnect()` */
static disconnect?: (dbName: string) => Promise<void>;
/** 关闭全部连接 */
static disconnectAll?: () => Promise<void>;
/** 当前活跃连接名列表 */
static getActiveConnections?: () => string[];
/**
* v0.7.1: 静态工厂(与 connect/disconnect 同一入口风格)。
* 此前 create 仅存在于 api 对象 / window 挂载 —— README/站点示例的