用途:指导维护者更新被固定的 Preact.js Signals JS/TS git 子模块(third_party/preactjs_signals),并把上游的结构、算法与优化改动移植到 Dart 的 preact_signals 包。
主要能力:1)子模块管理:未初始化时运行 git submodule update --init --recursive;升级固定版本时进入子模块目录,执行 git fetch --tags origin,再 git checkout tags/v1.3.0(或指定 tag/commit),回到根目录后 git add third_party/preactjs_signals。2)审查上游核心改动:对比 third_party/preactjs_signals/packages/core/src/index.ts 与测试文件 packages/core/test/index.test.ts,定位算法优化、缺陷修复和 API 契约变化。3)移植到 Dart:修改 packages/preact_signals/lib/src/ 下的 signal.dart、computed.dart、effect.dart、batch.dart,要求语义化且符合 Dart 习惯,可适当使用 late 初始化、WeakReference、Expando 或扩展类型;同时把上游新增测试移植到 packages/preact_signals/test/。4)发布与变更日志:按语义化版本更新 packages/preact_signals/pubspec.yaml,并在 CHANGELOG.md 记录改动及同步的上游版本标签。5)验证:依次运行 melos bootstrap、melos run analyze、dart format .、melos run test、melos run coverage。
适用场景:维护 signals.dart 仓库中 preact_signals 包与上游 Preact Signals 保持同步。
限制:资料未提供具体版本兼容范围、发布渠道、耗时或自动化程度等信息。