JCCDex / ProjectFundingProposal

Jingtum & MOAC Project Funding Proposal
27 stars 8 forks source link

PFP35: swtc-lib 全面typescript化, 引入rollup构建系统支持ES模块, 增加scoped包发布 #58

Closed lospringliu closed 4 years ago

lospringliu commented 4 years ago

swtc-lib 全面typescript化, 引入rollup构建系统支持ES模块

必要

彻底typescript化, 理清包依赖

增加ES模块的支持

增加scoped的包发布

要点

组件 内容 参考工时
typescriptize address-codec, keypair 2
typescriptize utils 2
rollup打包 研究 rollup + plugins 2
wallet以下包 |主版本 升级 修复单测 scoped发布 2
测试 单元测试 2
文档 更新 为 scope 2
lospringliu commented 4 years ago

文档: https://swtcdoc.netlify.com/ 仓库:https://github.com/swtcca/swtclib

进度: 100% 内容:

  1. 代码更新: 2020/01/26 - 2020/02/10
  2. address-codec / keypairs / utils 全新升级并完全typescript化, chains更改为common, 作为零依赖内容的集中区
  3. 所有包主版本升级,并且主流更改为scoped, 即 @swtc/common , ... @swtc/wallet, ... @swtc/lib..., 保持对前兼容,新发布的swtc-lib底层依赖已经全部更新为scoped包
  4. serializer 和 utils彻底清理和调整,和其它的包保持一致标准化
  5. 对于memo彻底实现,完全支持 json / hex 格式。 多签的memo由于服务器方面错误处理,需要跟井通协调
  6. 文档全面更新
  7. 所有包提供rollup版本的 cjs / esm格式,但是由于rollup的限制,目前还没有tsc的效果好,所以默认的依然为tsc编译的结果
  8. 取消utf8, lodash 和 bn-plus的依赖,提供esm格式的支持,结果将web库的大小降低30%。 目前@swtc/lib为400k (未压缩), 作为对比, jingtum-lib为1200k
GinMu commented 4 years ago

审计预估工时7个工作日

GinMu commented 4 years ago

PFP35审计

  1. 审计版本: @swtc/lib@1.0.6
  2. 审计人: GinMu
  3. 审查方法: 代码review及可用性测试, 测试代码swtclib-test
  4. 审计内容:
    1. 审计scoped包是否可用及es模块支持
  5. 审计结果:
    1. 开源库jcc_wallet将原先依赖的老版本顺利迁移到新的scoped包版本,在node环境和浏览器环境下CI通过
    2. jcc_exchange签名底层库迁移到@swtc/serializer, 在node环境和浏览器环境下CI通过
    3. 单元测试已覆盖
    4. 文档已更新
  6. 建议:
    1. 相关建议提交了一个PR.
lospringliu commented 4 years ago

PR 已 merge, 新版本发布

GinMu commented 4 years ago

PR 已 merge, 新版本发布

OK

GinMu commented 4 years ago

jwnqKpXJYJPeAnUdVUv3LfbxiJh5ZVXh79

AnFengDe commented 4 years ago

费用支付 审计费用支付