diff --git a/README.md b/README.md index b492c5a..2945172 100644 --- a/README.md +++ b/README.md @@ -20,10 +20,11 @@ https://github.com/calcit-lang/respo-calcit-workflow ### Development and deployment -开发与 CI 使用配对正式 Calcit/procs 0.30.1,以及精确正式 Reel 0.6.42、Respo 0.16.126、 -js-ffi 0.2.6;升级后需重新安装模块并构建、刷新,避免混用旧生成代码。 -站点链接、存储键、存档格式与部署路径不变,npm 依赖和 lock 不变。 -自动保存从误用的 60 毫秒修正为 60 秒;存档恢复成功后才安装定时器与卸载保存监听。 +开发与 CI 使用配对正式 Calcit/procs 0.31.0,以及已发布 Reel 0.7.0-alpha.4、Respo 0.17.0-alpha.4、 +js-ffi 0.2.7;模块图仍含 alpha,可能有样式差异;升级后需重新安装模块并构建、刷新,避免混用旧生成代码。 +站点链接、存储键、存档格式与部署路径不变,仅同步 procs 锁版本。 +本次补齐默认入口 DispatchOp Enum 绑定,原 Enum 守卫与业务/Reel 分派保持;不增加强转或放宽门禁。 +此前已将自动保存从误用的 60 毫秒修正为 60 秒;存档恢复成功后才安装定时器与卸载保存监听。 损坏存档仍明确报告错误,但不会被后续自动保存覆盖;页面静态链接仍可用。 Use Node.js 24 and Yarn 4.18.0. The canonical source files are `calcit.cirru` and `deps.cirru`; do not recreate `compact.cirru` or `package.cirru`. @@ -50,7 +51,7 @@ legacy Map/new Store data when hydrating the original `map.clj.im` storage key. 保留一处实际 `&struct:to-map` 转换,不以类型断言或 Dynamic 擦除伪造身份。 移除无引用的模板 `repeat!` / `snippets`,不引入新的定时器框架。 -三处源码及一处原测试的 Option helper 改为接收者 `.unwrap`,仍在缺失时失败; +此前三处源码的 Option helper 已改为接收者 `.unwrap`;本轮原测试中的 `get-in` 已返回 Result,改用 `:ok/:err` 分支,仍在缺失时失败; 没有改为吞错、nil 或默认值。原两项测试的业务断言不变。 三份静态样式的行高改为无单位 String(4、3、2.4),对应 schema 从 `Map` 收紧为 `Map`。实际 Respo DOM 实现原本就将这些 diff --git a/calcit.cirru b/calcit.cirru index 1ba8be0..9fe0f54 100644 --- a/calcit.cirru +++ b/calcit.cirru @@ -6,7 +6,7 @@ {} (:description "|Clojure China community map browser application") (:init-fn 'app.main/main!) (:mode :js) (:reload-fn 'app.main/reload!) (:target :browser) :feature-policy $ {} :modules $ [] |respo.calcit/ |reel.calcit/ - :type-slots $ {} + :type-slots $ {} $ :dispatch-op |app.schema/DispatchOp :files $ {} 'app.comp.container $ %{} 'FileEntry :defs $ {} @@ -265,6 +265,10 @@ respo.ffi.browser :as dom 'app.schema $ %{} 'FileEntry :defs $ {} + 'DispatchOp $ %{} 'CodeEntry (:doc "|Respo 入口事件合同,容纳应用和 Reel 控制事件;代表值不发送。") + :code $ quote $ def DispatchOp (:: :unhandled) + :examples $ [] + :schema $ :: 'Enum 'StatesInput $ %{} 'CodeEntry (:doc |) :code $ quote $ defstruct StatesInput :cursor $ :: 'List 'Tag @@ -335,7 +339,11 @@ :: :states ([] :editor) |draft , |test 0 assert= |keep $ :content next - assert= |draft $ .unwrap $ get-in (:states next) ([] :editor :data) + assert= |draft $ match + get-in (:states next) ([] :editor :data) + (:ok value) value + (:err error) + raise $ str "|Expected editor data: " error assert= ({}) (:states base) :ns $ %{} 'NsEntry (:doc |) :code $ quote $ ns app.updater diff --git a/deps.cirru b/deps.cirru index 5346dca..133b2bf 100644 --- a/deps.cirru +++ b/deps.cirru @@ -1,6 +1,6 @@ -{} (:calcit-version |0.30.1) +{} (:calcit-version |0.31.0) :version |0.0.1 :dependencies $ {} - |Respo/reel.calcit |0.6.42 - |Respo/respo.calcit |0.16.126 - |calcit-lang/js-ffi |0.2.6 + |Respo/reel.calcit |0.7.0-alpha.4 + |Respo/respo.calcit |0.17.0-alpha.4 + |calcit-lang/js-ffi |0.2.7 diff --git a/package.json b/package.json index 05fb115..5fdd926 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "vite": "^8.3.3" }, "dependencies": { - "@calcit/procs": "0.30.1", + "@calcit/procs": "0.31.0", "bottom-tip": "^0.1.5" } } diff --git a/yarn.lock b/yarn.lock index 1491fe2..cd2b062 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,15 +12,15 @@ __metadata: languageName: node linkType: hard -"@calcit/procs@npm:0.30.1": - version: 0.30.1 - resolution: "@calcit/procs@npm:0.30.1" +"@calcit/procs@npm:0.31.0": + version: 0.31.0 + resolution: "@calcit/procs@npm:0.31.0" dependencies: "@calcit/finger-vec": "npm:0.1.1" "@calcit/ternary-tree": "npm:0.0.26" "@cirru/parser.ts": "npm:0.0.10" "@cirru/writer.ts": "npm:^0.1.9" - checksum: 10c0/a0f00e3c0c9b3a5a2aea8b97e09f2692aa25039a48a2f7ccb345801fdbc546cbf3bb34ee268a58526baba9fb697781bb7929a5d1f6622816c9422c6c3ba8537b + checksum: 10c0/daa73d722acd302be00f5f83eb91f742025a5323fac01b84222bed0fffef688761c1285637f9d672b74c2b1bb4513b170d4b5dfcc51bd65f1396390bd526ac77 languageName: node linkType: hard @@ -932,7 +932,7 @@ __metadata: version: 0.0.0-use.local resolution: "sitemap@workspace:." dependencies: - "@calcit/procs": "npm:0.30.1" + "@calcit/procs": "npm:0.31.0" bottom-tip: "npm:^0.1.5" vite: "npm:^8.3.3" languageName: unknown