umijs/umi

Roadmap 2023

Open

#10.423 aperta il 6 feb 2023

Vedi su GitHub
 (0 commenti) (17 reazioni) (0 assegnatari)TypeScript (2626 fork)batch import
help wanted

Metriche repository

Star
 (14.588 star)
Metriche merge PR
 (Merge medio 18h 4m) (36 PR mergiate in 30 g)

Descrizione

  • Inbox
    • (Umi UI)Next Route Visualizer,路由可视化,Umi UI 可以参考下
    • (Feature)phantomDependency 检测支持 monorepo
    • (Feature)Umi 打磨 client loader
    • (Feature)Umi 打磨 auto import,基于 prepare
    • (Feature)Umi 解懒加载(await import)请求瀑布的问题,和路由结合
    • (Feature)Umi 完善 config set 功能
    • (Feature)改进 Umi 的类型提示,参考 Nuxt
    • (Feature)Umi 添加 plugins 这个操作可以进一步简化,1)只要在 plugins 里添加模块,依赖部分可以自动安装,2)内置插件快速添加,无需加 @umijs/plugins/dist 前缀,3)支持函数。
    • (Feature)新增一个功能,比如代码里检测到 styled 时,自动增加相应的 import 语句,不知能否做成 prettier 规则
    • (Feature)需要为最佳实践调整下 umi g 的内容,1)不能生成 less 文件了,2)包含更多现有最佳实践的 g 。
    • (Feature)@umijs/testing 支持生成 vitest 配置:相比于 jest,vitest 对 pure esm 的支持更好,且速度更快 from @PeachScript
    • (Father)Father 改进 dev 速度,通过记录上次启动的 commit 信息,结合 git log,如果某个 package 没有变更,则不执行,只监听 @PeachScript
    • legacy 配置项可以集成 antd v5 的旧版浏览器兼容能力以降低用户成本?需要额外注入 runtime plugin:https://ant.design/docs/react/compatible-style-cn#css-%E9%80%BB%E8%BE%91%E5%B1%9E%E6%80%A7
    • 恢复 umi clear 命令,用于清空所有临时文件、缓存等,快速恢复到 install 后的初始状态
    • (Father)Father 应该要支持 package.json exports RFC @PeachScript
    • (Father)Father 支持 pure esm? RFC @PeachScript
    • (构建提速)MFSU option diff 可以考虑用 GitHub - sindresorhus/hash-obj: Get the hash of an object
    • (构建提速)MFSU 增加 sourcemap 的能力, 现在开启 mfsu 后三方报错 调试困难 from @xierenyuan
    • (构建提速)Turbopack 跑一遍自定义流程
    • logger 支持自定义路径,比如用于 doctor 场景
    • ssr 的 dev middleware 与原生 dev 不一致,比如 modifyHTML 无法生效之类的
    • 关于如何从 tsx 中解析出 import?感觉有几个解法,1)FORK 一份 es-module-lexer 做 tsx 的支持,2)ast-grep
    • 参考 Bigfish Checker 做 Umi Checker,用于发布前跑开源三方应用的构建,比如 antd 官网
    • Bigfish 交互式课程和 Dumi 应该都会用到 Button | Mantine 这动图修改 props 的能力
    • 学习下 Next.js 的错误提示框
    • (工程化)Umi 的 dev 和 build 去掉 turborepo 缓存,把 father 的缓存利用好就够了
      • Father 用 ora 优化 monorepo 的 dev 进度展示
      • Father 文件 dev 命中缓存时不需要做 dts 构建
    • (工程化)Umi Changelog 实现之前有整理过思路的,参考 changelog · Issue #9185 · umijs/umi · GitHub
    • (文档)Umi 和 Bigfish 的文档优化(大工程)
      • 文档内容,增加 Live Example,尤其是第三方的 API,一站式的看了 Umi 文档就会用了,不需要再跳转源文档从头学习(why:营造一种 Umi 让我变强了个感觉 ) from @stormslowly
      • 定个文档的规范的草案出来,比如 umi 和 Umi from @stormslowly
    • (文档)Umi 中文到英文翻译脚本,diff 精确到行 @sorrycc
    • (文档)搞个 umijs/.github,参考 GitHub - mswjs/.github: Mock Service Worker organization GitHub files. https://github.com/umijs/.github
    • (文档)参考 astro.new 优化 umi 的项目创建页
    • (文档)借鉴下 Press | Astro,右键 Logo 跳转
    • (最佳实践)Icon 要不要支持 children,显示在 svg 的旁边
    • (最佳实践)改进 Umi 的 Icon 方案,Icon 默认宽高用 1rem?结合 antd button 的场景
    • Umi 要加「Circular Dependency Plugin」吗?
    • 调研 Linear,看是否适合 Umi 团队
      • 一个团队协作工具,Free 版有 250 issue(不算 archive 的)的限制,无 Member 数量限制。
    • 给 Umi 的 dead file 加上可视化分析界面,参考 GitHub - M-Izadmehr/deadfile: Simple util to find unused files in any JavaScript project (ES5, ES6, React, Vue, ...)
  • W13 (0327 - 0331)
    • 升级 umi 依赖,每四周升一遍 W(Nx4+1) @sorrycc
  • W12 (0320 - 0324)
    • 组件研发最佳实践规则编码完成 @PeachScript
    • prepare 的 build 支持分析出 import 数据,补充到 api.appData.imports,以文件为 key @stormslowly 4h
    • 集成 webpack-inspector @岁贤
    • techui 的 sideEffects 配置问题 @PeachScript
    • react externals 会导致 hmr 失效的问题 @stormslowly
    • 产出最佳实践之 Mock 方案 @sorrycc 8h
    • 完成 Umi 答疑机器人 @sorrycc 4h
  • W11 (0313 - 0317)
    • 查漏补缺周。

    • Umi UI 研发(3) @goo-yyh 8h
    • Umi/Bigfish (也许在api)添加一些 error 勾子,onError、onServiceError、onCompilingError 等,可以做一些错误引导或反馈等统一处理 @sorrycc 1h
    • Bigfish 在 dev 和 build 报错时增加引导用户使用 doctor + links(依赖上一条任务) @hanzebang
    • (新人任务)Bigfish Reporter @行见
    • (新人任务)Umi 仓库的 changelog 命令 @禾承
  • W10 (0306 - 0310)
    • (Feature)Umi 支持使用 zod 作为配置校验和类型生成工具
    • 组件研发最佳实践文档知识库完成 @PeachScript
    • father 缓存问题,tsconfig.json 里配了 declaration 不生效,需要删除 node_modules/.cache 才行 @PeachScript
    • 源码交付方案 @PeachScript(1)
    • Bigfish x 空项目、Bigfish x TERN、源码交付,这两个的规划和里程碑 @PeachScript
    • 新增「LinkS 指南」文档,关于「怎么提问」「答疑边界」「话术列表」等 @PeachScript
      • 整理需要出话术的场景列表 @hanzebang
    • Bigfish 数据统计、Umi 和 Bigfish 文档、Bigfish x 业务的「支付宝官网、支付宝收银台」、Bigfish 应用治理,这四个的规划和里程碑 @stormslowly
    • Umi UI 研发(2) @goo-yyh 8h
    • Bigfish 仓库 examples 下的对 @alipay/bigfish 的声明改用 workspace:*,同时改下强约束规则,遇到 package.json 中 name 是以 @examples/ 开头的不做检测 @hanzebang
    • (新人任务)完善 umi g page,检测到 api.config 里有 styledComponents 之后,用 styled-components 的方式生成文件,不生成 less 文件 @岁贤
    • (新人任务)Umi did-you-know 的渲染方式更游戏化一些,应该可以优化,现在只有随机,比如出现过的可以降低出现频率等等 @折牧
    • (新人任务)解决开启 https 后多刷几次会报「ERR_HTTP2_PROTOCOL_ERROR」的问题 @仝守玉
  • W09 (0227 - 0303)
    • Bigfish 数据方案,包括 dev、build、hmr 等 @stormslowly
    • Bug:MFSU x Valtio 报错 · Issue #10560 · umijs/umi · GitHub @stormslowly
    • (Feature)umi deadCode 命令,独立的 deadCode 检测命令 from @goo-yyh 4h
      • 借助这个工具 umi-plugin-circular-check 里的实现思路,是可以拿到项目所有引用文件的列表,扫一下 src 的文件,剩下的就是未使用的 from @YingCI
    • Umi UI 研发(1) @goo-yyh 8h
    • Bigfish 课程组件和 Hooks 完善 @wyy0512
    • 升级 umi 依赖,每四周升一遍 W(Nx4+1) @sorrycc 2h
    • 调研 RSPack 8h @sorrycc 4h
    • Bigfish 课程(1) @sorrycc 4h
    • 为 Umi 建立 Telegram 交流群 @sorrycc 10m
  • W08 (0220 - 0224)
    • Bigfish 组件最佳实践(2)6x/19 @PeachScript
    • Bigfish 课程组件研发 Directory Tree、Code Playground、Quiz、Summry Video @wyy0512
    • (构建提速)MFSU V5 规划和里程碑 @stormslowly 8h
    • (构建提速)MFSU 的依赖收集改用 prepare 的构建结果 @stormslowly 8h
    • (构建提速)用 SharedArrayBuffer - JavaScript | MDN 改进 MFSU 实现,他允许从多个不同的worker同时访问一个内存块 @stormslowly
    • 优化 Icons 方案,支持 includes 配置 @stormslowly 2h
    • Icons 方案支持类型提示 @sorrycc
    • Father Doctor 感觉可以和雨燕门禁做结合,或者可以考虑做成云服务 @PeachScript
      • 进展?(1个月后)
    • (Bug)prepare 没有覆盖通过 umi > exports > plugin-xxx/index.ts 链路引入的文件 @YingCI 2h
    • 分布式 Bigfish Checker,利用好 cloud ide @sorrycc 2h
    • 跟进构建回放的功能实现情况 @sorrycc
    • 调研 Backery @hanzebang 8h
    • 调研 nuxt devtools @sorrycc 2h [[262 - 《Nuxt Devtool、Umi UI》]]
  • W07 (0213 - 0217)
    • 最佳实践文档 @stormslowly @辟殊 8/8
    • 新增 umi mfsu build 命令 @stormslowly 2h
    • Bigfish Doctor 发布 @hanzebang
      • 完善和打磨规则、reporter 等 8h
      • 计划周四发布,需准备发布稿,发到 Bigfish Blog 4h
      • did-you-know 里增加一条对 Bigfish Doctor 的推广 10m
    • 最佳实践 2023.2 发布 @sorrycc
      • 计划周四发布,需准备发布稿,发到 Bigfish Blog 4h
      • 50%
    • 优化 Icons 方案,前置依赖安装 @stormslowly
      • 可以评估下要不要做,@txp1035 已有 PR,在 iconify 调用处做的
    • Bigfish 脚手架产物尺寸分析(据说 gzip 前 500K) @PeachScript 4h
    • less + css modules > styled-components 的自动化工具 @txp1035 8h
    • 排查 Bigfish、Max 和 Umi 的启动时间并提升 @goo-yyh 8h
      • Max:在 examples/max 目录,执行 npm run setup --profile-plugins --profile-plugins-verbose,优化性能大头的插件的 register 时间(DL:2023.2.10)
      • Umi 插件:手动建立项目,开启 @umijs/plugins 下的各种插件,执行 setup 命令加 --profile-plugins --profile-plugins-verbose,优化性能大头的插件的 register 时间(DL:2023.2.10)
      • Bigfish:找个 Bigfish 脚手架,执行 setup 命令加 --profile-plugins --profile-plugins-verbose 参数,优化性能大头的插件的 register 时间(DL:2023.2.17)
      • 优化方式参考 feat(preset-umi): improve umi launch time by sorrycc · Pull Request #10361 · umijs/umi · GitHub
    • (Bug)overrides.less 删除后没有监听重新生成临时文件 @wyy0512
    • Bigfish 组件最佳实践(1) 3/19 @PeachScript来
  • W06 (0206 - 0210)
    • (Feature)写个插件「confetti」,在 dev/build 时 confetti,参考 https://twitter.com/dqhieu/status/1615993212098981889 @goo-yyh(DL:2023.2.7)
      • 在 umi 仓库的 packages/plugins 下新增 confetti 插件,配置开启、无 raycast 应用报错(如果能不依赖 raycast 更好)、dev 和 build 成功时调用(dev 只有第一次时调)、不阻塞流程
    • 最佳实践文档 @stormslowly @sorrycc 7/8
    • father dev + webstorm refactor 监听不到非当前文件的改动 · Issue #572 · umijs/father · GitHub @PeachScript
    • pnpm 跑 father dev ⌃+C 退出时报错 · Issue #573 · umijs/father · GitHub @PeachScript
    • babel-plugin-import 更换构建工具为 father @PeachScript
    • Bigfish 更换构建工具为 father @PeachScript
    • Umi PR 合并后自动邀请入 Contributor 群 1h @txp1035
    • Umi 中不允许代码引用 mock 文件夹下的文件 1h @hanzebang
    • 修复 umi g tailwindcss 没有变更配置的问题 @goo-yyh
    • 让 Bigfish 监控重新跑起来 2h @sorrycc
    • Bigfish 的 Changelog 需要处理下 @sorrycc @wyy0512
    • Bigfish Tern 脚手架,PR 待 Review @hanzebang
    • Bigfish Doctor 实现 9+ 规则 @hanzebang
    • 定时同步[[下周 Umi 和 Bigfish 迭代]]到 Github ISSUE,并声明「本地同步,请勿在 Github 上修改该内容」 @sorrycc
      • 搞定后可以提成一个脚本,支持配置映射表
  • W05 (0130 - 0203)
    • 更新一把「did you know」 @sorrycc
    • Umi 支持统计每个插件每个 Hook 的耗时 @sorrycc
    • Bigfish 增加 dayjs utils,同时对 moment 对 deprecate 处理(完成后反馈给余化)
    • phantomDependency 改用 icons 的方式做检测
  • W04
  • W03
    • <Link to={} /> 的值为 undefined 时应该做兼容
    • 最佳实践 验证 styled-components 插件的问题,之前没跑起来过 10m
    • 最佳实践 styled-components 的 globalStyle 可以通过 app.ts 里用 export const globalStyle = '' 来解,但需要看下是否会有一些 edge case
    • 最佳实践 新增 styledComponets 相关文档
  • W02
    • 最佳实践之 Icons 方案
    • 最佳实践之请求方案
    • 升级 umi 依赖,每四周升一遍吧 W(Nx4+1)
      • babel、webpack 等

Guida contributor