Skip to content

feat(api-babel): 支持Taro.xx.yy形式的api treeshaking#18848

Open
tutuxxx wants to merge 3 commits into
mainfrom
feat/api_shaking
Open

feat(api-babel): 支持Taro.xx.yy形式的api treeshaking#18848
tutuxxx wants to merge 3 commits into
mainfrom
feat/api_shaking

Conversation

@tutuxxx
Copy link
Copy Markdown
Member

@tutuxxx tutuxxx commented Feb 4, 2026

这个 PR 做了什么? (简要描述所做更改)

这个 PR 是什么类型? (至少选择一个)

  • 错误修复 (Bugfix) issue: fix #
  • [ ✅] 新功能 (Feature)
  • 代码重构 (Refactor)
  • TypeScript 类型定义修改 (Types)
  • 文档修改 (Docs)
  • 代码风格更新 (Code style update)
  • 构建优化 (Chore)
  • 其他,请描述 (Other, please describe):

这个 PR 涉及以下平台:

  • 所有平台
  • [ ✅] Web 端(H5)
  • 移动端(React-Native)
  • 鸿蒙(Harmony)
  • 鸿蒙容器(Harmony Hybrid)
  • ASCF 元服务
  • 快应用(QuickApp)
  • 所有小程序
  • 微信小程序
  • 企业微信小程序
  • 京东小程序
  • 百度小程序
  • 支付宝小程序
  • 支付宝 IOT 小程序
  • 钉钉小程序
  • QQ 小程序
  • 飞书小程序
  • 快手小程序
  • 头条小程序

Summary by CodeRabbit

发布说明

  • 新功能

    • 优化了对 Taro 命名空间式 API 的处理与抽离,提升代码打包和 Tree-shaking 效果。
  • 其他更新

    • 将整体版本提升为 4.1.12-alpha.1(测试版),若干包的发布元数据已同步为此预发布版本。

@tutuxxx tutuxxx added this to the 4.1.12 milestone Feb 4, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 4, 2026

Walkthrough

此PR 将大量 package.json 的版本从 4.1.11 升级到 4.1.12-alpha.1,并在 packages/babel-plugin-transform-taroapi/src/index.ts 中新增/扩展对 Taro 命名空间(Taro.xx.yy)形式的识别与树摇重写逻辑(含对 TS cast 与可选链的处理)。

Changes

Cohort / File(s) Summary
根与原生绑定包
package.json, crates/native_binding/package.json, npm/darwin-arm64/package.json, npm/darwin-x64/package.json, npm/linux-arm64-gnu/package.json, npm/linux-x64-gnu/package.json, npm/linux-x64-musl/package.json, npm/win32-x64-msvc/package.json
统一将版本字段从 4.1.114.1.12-alpha.1(元数据变更)。
Babel 插件与源码变更
packages/babel-plugin-transform-taroapi/package.json, packages/babel-plugin-transform-taroapi/src/index.ts, packages/babel-plugin-transform-react-jsx-to-rn-stylesheet/package.json, packages/babel-plugin-transform-solid-jsx/package.json, packages/babel-preset-taro/package.json
多处 package.json 版本升级;src/index.ts 新增 stripTSCast,扩展对 Taro.xx.yy(含可选链/TS cast)的 MemberExpression 与 CallExpression 重写与树摇处理,并修正赋值判断中的节点引用。
工具链 / 构建 / 规范类包
packages/create-app/package.json, packages/css-to-react-native/package.json, packages/eslint-config-taro/package.json, packages/eslint-plugin-taro/package.json, packages/jest-helper/package.json, packages/postcss-html-transform/package.json, packages/postcss-plugin-constparse/package.json, packages/postcss-pxtransform/package.json, packages/postcss-unit-transform/package.json, packages/rollup-plugin-copy/package.json, packages/shared/package.json, packages/stylelint-config-taro-rn/package.json, packages/stylelint-taro-rn/package.json, packages/stylelint-taro/package.json
版本字段统一升级(仅 metadata 修改)。
核心框架与运行时
packages/taro-api/package.json, packages/taro-extend/package.json, packages/taro-framework-react/package.json, packages/taro-framework-solid/package.json, packages/taro-framework-vue3/package.json, packages/taro-h5/package.json, packages/taro-helper/package.json, packages/taro-loader/package.json, packages/taro-react/package.json, packages/taro-rn/package.json, packages/taro-router/package.json, packages/taro-router-rn/package.json, packages/taro-runtime/package.json, packages/taro-runtime-rn/package.json, packages/taro-service/package.json, packages/taro/package.json
版本字段统一升级(仅 metadata 修改)。
平台支持与组件库
packages/taro-platform-*/*.json, packages/taro-components*.package.json, packages/taro-components-library-*/*.json, packages/taro-components-rn/package.json, packages/taro-components-react/package.json
多平台与组件库包版本升级到 4.1.12-alpha.1
插件与 runner / transformer 系列
packages/taro-plugin-*/package.json, packages/taro-rn-runner/package.json, packages/taro-rn-style-transformer/package.json, packages/taro-rn-supporter/package.json, packages/taro-rn-transformer/package.json, packages/taro-runner-utils/package.json, packages/taro-transformer-wx/package.json, packages/taro-vite-runner/package.json, packages/taro-webpack5-*/package.json, packages/taro-with-weapp/package.json, packages/taroize/package.json
插件与运行器/转换器系列包版本统一升级(仅 package.json 版本字段变更)。

Sequence Diagram(s)

(无序列图 — 变更未满足生成时需的多角色顺序交互条件)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • luckyadam
  • yoyo837
  • Single-Dancer

🐰 新版跳跃到山巅,
树摇细语拆冗言,
命名空间更聪明,
六十包齐步先,
Alpha 花开正当年。

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 拉取请求标题准确描述了主要变更:为Babel插件添加了对Taro.xx.yy形式API树摇动的支持。标题简洁明确,反映了最重要的功能改进。

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/api_shaking

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 4, 2026

Codecov Report

❌ Patch coverage is 39.62264% with 32 lines in your changes missing coverage. Please review.
✅ Project coverage is 56.26%. Comparing base (3317bb2) to head (3f1caf6).
⚠️ Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
...ckages/babel-plugin-transform-taroapi/src/index.ts 39.62% 20 Missing and 12 partials ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #18848      +/-   ##
==========================================
- Coverage   56.31%   56.26%   -0.05%     
==========================================
  Files         447      447              
  Lines       23352    23399      +47     
  Branches     5776     5800      +24     
==========================================
+ Hits        13150    13165      +15     
- Misses       8372     8394      +22     
- Partials     1830     1840      +10     
Flag Coverage Δ
taro-cli 72.85% <ø> (ø)
taro-runtime 60.27% <ø> (ø)
taro-web 53.12% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...ckages/babel-plugin-transform-taroapi/src/index.ts 75.88% <39.62%> (-16.81%) ⬇️

... and 7 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This was referenced Feb 7, 2026
@Single-Dancer Single-Dancer removed this from the 4.2.0 milestone Apr 13, 2026
This was referenced Apr 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants