Skip to content

Zotero TaskFlow 15.0.0

Choose a tag to compare

@groele groele released this 05 Nov 04:23
· 4 commits to main since this release

Zotero TaskFlow v15.0.0 发布说明

发布日期:2026-11-05
适用架构:现代 esbuild + TypeScript 模块化编译流水线架构(Zotero Flow 统一工程标准里程碑大版本)


1. 里程碑大版本升级概览

Zotero TaskFlow 正式发布 v15.0.0 大版本更新。本次升级是 TaskFlow 发展历程中的核心架构里程碑,彻底完成从传统散装覆盖式加载结构向现代化 TypeScript + esbuild 模块化工程流水线的战略性演进,全面融入 Zotero Flow 统一架构标准。

核心改进与技术亮点

  • 全入口 TypeScript 化与源码权威建立 (src/):

    • 源码全面采用 TypeScript (ESM) 编写,彻底告别历史上游离在类型系统之外的手写 JS 脚本;
    • 建立三大独立编译入口:
      • src/index.ts:宿主生命周期调度中枢与聚合根(单文件从 2484 行大幅瘦身至 183 行);
      • src/preferences.ts:首选项设置面板动态表单控制器;
      • src/itemPane.ts:条目详情侧边栏 Web Component 原生交互组件;
      • src/utils.ts:文献序列化与 DOM 安全转义通用辅助函数集;
      • src/types/zotero.d.ts:完备的 Gecko / Zotero 10 ~ 12 宿主环境类型体系。
  • 全链路数据处理逻辑审计与健壮性闭环:

    • 文献子笔记同步去重:增强 syncTasksToChildNote 识别历史 [Todolist] 笔记与标签的能力,保障老版本平滑迁移且绝不生成重复子笔记;
    • 生命周期定时器防悬垂逃逸:在 shutdown() 中彻底补齐条目详情侧边栏 8 秒撤销定时器(_paneUndoTimer)的清理与撤销缓冲区重置;
    • 打印窗口弹窗拦截防护:增强 printTasks() 对 win.open() 返回空对象的安全防御;
    • 严格遵守单文件行数铁律:将持久化、文献研读与窗口管理进一步细分为单文件 100~300 行的强内聚领域模块。
  • 强类型分层继承架构 (src/modules/):

    • 严格遵守模块化铁律,将庞大单例按领域职责拆分为强类型继承链:
      • TaskFlowBase (src/modules/base.ts):基础环境感知、首选项读写与错误诊断中枢;
      • TaskFlowStorage (src/modules/storage.ts):数据读写、原子持久化、代际并发乐观锁与跨格式灾备导出导入;
      • TaskFlowLiterature (src/modules/literature.ts):文献研读流水线、精读里程碑与子笔记双向同步;
      • TaskFlowWindow (src/modules/window.ts):窗口 UI 注入、多窗口生命周期与伴随独立窗口(Todolist_SubWindow, Todolist_Window)管理;
      • TaskFlowHost (src/index.ts):宿主单例聚合根与启动初始化。
  • 设置面板与视图模板零硬编码文案(100% Fluent 覆盖):

    • 为设置面板内全部 40 项动态表单控件补齐了中英双语对齐的 Fluent 本地化键值(taskflow-pref-field-*);
    • 控件渲染全面挂载 data-l10n-id,使原生 Gecko 运行时自动根据系统语言无缝切换双语,彻底杜绝硬编码文本。
  • 现代化高速构建与统一命令契约:

    • 配备严格的 tsconfig.json(目标 ES2022 / ESNext),编译期前置类型守卫;
    • 引入 esbuild 现代高速编译流水线,面向 Firefox 140+ / Gecko 153+ 标准输出单一高性能自包含宿主 IIFE 主包与多上下文脚本;
    • 全系标准对齐统一 NPM 脚本:
      • npm run tsc:执行全量静态类型检查(0 error 严格通过);
      • npm run build:source:执行 esbuild 模块编译打包;
      • npm run build:一键自动执行类型检查、源码编译、哈希更新与 XPI 归档校验;
      • npm test:运行全量 158 项自动化测试套件与打包测试。

2. 自动化验证数据

  • TypeScript 类型检查:npm run tsc 0 error 严格通过。
  • esbuild 模块编译:多入口编译输出符合 Firefox 140+ / Gecko 153+ 规范的纯净 IIFE bundle。
  • 包构建与校验:npm run build 产物 zotero-taskflow-15.0.0.xpi 自动生成,update.json 的 sha512 校验和 100% 吻合。
  • 全套自动化测试:npm test 包含 158 项单元/集成测试与打包测试全部绿灯通过(0 fail)。