mirror of
https://git.um-react.app/um/um-react.git
synced 2025-11-28 03:23:02 +00:00
8ab267019ccbf9f99101b4fb9818fc73d5c8eced
Getting started
前提: 安装 pnpm,推荐 corepack 方法。
pnpm i
pnpm start
架构
- 浏览器主线程: 渲染界面,处理 UI 更新
- Web Worker: 负责计算方面的内容,如内容解密。
数据传输: 生成 blob url (URL.createObjectURL) 然后透过 postMessage 传递给线程,线程利用 fetch API 来获取文件信息。
贡献代码
欢迎贡献代码。请确保:
- 单元测试的覆盖率不低于主分支的覆盖率;
- 提交前请使用 Prettier 对代码进行格式化;
- 提交前请确保 ESLint 不会报告 warning / error;
满足上述条件后发起 Pull Request,仓库管理员审阅后将合并到主分支。
基于 libparakeet SDK 开发
libparakeet-js 编译目前需要 Linux 环境,请参考仓库说明。
该文档将假设这两个项目被放置在同级的目录下:
~/Projects/um-projects
/um-react
/libparakeet-js
若为不同目录,你需要调整 vite.config.ts 的 server.fs.allow 区段并加入新的路径。
初次构建
- 进入上层目录
cd .. - 克隆
libparakeet-js仓库 (目前需要 Linux 环境, Windows 下推荐使用 WSL2)git clone --recurse-submodules https://github.com/parakeet-rs/libparakeet-js.git
- 进入目录
cd libparakeet-js - 如果需要更新
submodule:git submodule update --init --recursive
- 运行
./build.sh -j 4进行编译 - 编译
js-sdk:- 进入
npm目录:cd npm - 安装依赖:
pnpm i --frozen-lockfile - 构建:
pnpm build
- 进入
做出更改
做出更改后,参考上面的内容进行重新编译
应用 SDK 更改
将构建好的 SDK 直接嵌入到当前前端项目:
pnpm link ../libparakeet-js/npm
※ 建立 PR 时,请先提交 SDK PR 并确保你的更改已合并。
TODO
- #6 文件拖放 (利用
react-dropzone?) - 各类算法 追踪
crypto标签 - #7 简易元数据编辑器
- #8 添加单元测试
- #2 解密内容探测 (解密过程)
Languages
TypeScript
90.6%
Shell
5.9%
JavaScript
1.4%
CSS
1.2%
PowerShell
0.3%
Other
0.6%