Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency @tarojs/taro to v3.1.1 #56

Merged
merged 1 commit into from
Mar 1, 2021

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 24, 2021

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@tarojs/taro 3.0.28 -> 3.1.1 age adoption passing confidence

Release Notes

NervJS/taro

v3.1.1

Compare Source

修复
小程序
  • 修复 Cannot read property 'setExtraStackFrame' of undefined 报错,#​8750
  • 修复 Vue3 style 设置 CSS 变量解析错误问题,#​8736
  • 修复第三方组件、CustomWrapper 组件使用失败的问题,#​8756
  • 补全微信小程序中 Video 组件广告相关的事件
  • 解决事件冒泡失败的问题,#​8757

v3.1.0

Compare Source

Breakings
一、React

项目的 React 版本必须 >= 16.14.0,或使用 17.0.0+

二、Vue2
1. 修复 Vue2 入口组件生命周期多次触发的问题,#​7179

用户编写的入口组件需要修改如下:

// app.js

// 3.0
const App = new Vue({})

// 3.1
const App = {}
HighLights
一、开放式架构

近年来业界推出的小程序平台越来越多,但 Taro 核心维护的平台只有 6 个,因此常常有同学提出能不能支持某某平台的 Feature Request。

基于目前的架构,支持一个新的平台开发复杂度高,同时社区也难以参与贡献。

为此我们把 Taro 打造成为一个开放式框架,通过端平台插件能支持任意小程序平台

基于开放式架构,我们新增了一些有趣的插件,也十分期待大家利用它施展创意。

新增的插件:
插件 功能
@​tarojs/plugin-platform-weapp-qy 编译企业微信小程序
@​tarojs/plugin-platform-alipay-dd 编译钉钉小程序
@​tarojs/plugin-platform-alipay-iot 编译支付宝 IOT 小程序
@​tarojs/plugin-inject 为所有小程序平台快速新增 API组件调整组件属性
二、新增小程序性能优化组件 CustomWrapper

Taro3 使用 <template> 进行渲染,所有的 setData 都由页面对象调用。如果页面结构比较复杂,更新的性能就会下降。

为此我们增加了一个基础组件 CustomWrapper,它的作用是创建一个原生自定义组件。对后代节点的 setData 将由此自定义组件进行调用,达到局部更新的效果,从而提升更新性能。

开发者可以使用 CustomWrapper 去包裹遇到更新性能问题的组件:

<CustomWrapper>
  <GoodsList>
    <Item />
    <Item />
    // ...
  </GoodsList>
</CustomWrapper>
三、原生小程序支持渐进式使用 Taro 开发

过去我们对在 Taro 项目中混合使用原生的支持度较高。相反地,对在原生项目中混合使用 Taro 却没有太重视。但是市面上有着存量的原生开发小程序,他们接入 Taro 开发的改造成本往往非常大,最后只得放弃混合开发的想法。

经过与京喜拼拼项目的合作,也驱使了我们更加关注这部分需求。Taro 推出了一套完整的原生项目混合使用 Taro 的方案。

方案主要支持了三种场景:

  • 在原生项目中使用 Taro 开发的页面。(已完成)
  • 在原生项目的分包中运行完整的 Taro 项目。(已完成)
  • 在原生项目中使用 Taro 开发的自定义组件。(正在开发中)

希望以上方案能满足打算逐步接入 Taro 开发的同学。更多意见也欢迎在 Github 上给我们留言。

四、拥抱 React 17、TypeScript 4
1. 如何使用

新项目:

模板默认依赖 React 17、TypeScript 4,可直接使用。

旧项目:

手动升级项目中 reactreact-domtypescript@typescript-eslint/parser@typescript-eslint/eslint-plugin 的版本。

2. 改动

3.1 默认支持 New JSX Transform,开发者可以不在书写 JSX 前先引入 React

旧项目升级 React 17 的开发者还需要设置 ESLint 配置:

// .eslintrc
module.exports = {
  "extends": ["taro/react"],
  "rules": {
    "react/jsx-uses-react": "off",
    "react/react-in-jsx-scope": "off"
  }
}

如果不希望打开此功能,可以配置 Babel Taro preset 的 reactJsxRuntime 选项为 classes

// babel.config.js
module.exports = {
  presets: [
    ['taro', {
      framework: 'react',
      ts: true,
      reactJsxRuntime: 'classes'
    }]
  ]
}

2.2 H5 端编译 React 时默认开启 fast refresh

如果不希望打开此功能,可以修改 Taro 配置项和配置 Babel Taro preset:

// config/index.js
const config = {
  h5: {
    devServer: {
      hot: false
    }
  }
}
// babel.config.js
module.exports = {
  presets: [
    ['taro', {
      framework: 'react',
      ts: true,
      hot: 'false'
    }]
  ]
}
特性
  • 组件 View 增加 catchMove 属性,解决滚动穿透问题。
修复
重要
  • 修复百度小程序渲染问题,#​7293
  • 修复、增强微信小程序转换为 Taro 的能力。
  • 支付宝小程序支持引用自定义组件
  • 同步所有内置小程序官方最新的 API、组件能力。
  • 修复小程序分享 API 在使用 redux 时无法生效的问题,#​7232
  • 修复 H5 端 HMR 刷新失效的问题。
小程序
  • 修复多端文件没按照 Webpack extension 配置解析的问题,#​6786#​7265
  • 修复 style 属性设置失败的问题,#​8678
H5
  • 支持路由 404 时触发 App.onPageNotFound#​7474
  • 修复表单组件 slot 兼容问题,#​7363
  • 修复 ViewText 组件多行截断样式失败问题,#​7472 #​6741
  • 组件的 style 属性支持设置 CSS 变量,#​7452
升级指南

从 v2.x 升级的同学需要先按 迁移指南 进行操作。

从 v3.x 升级的同学,首先需要安装 v3.1 的 CLI 工具:

npm i -g @&#8203;tarojs/cli

然后进入项目,删除 node_modulesyarn.lockpackage-lock.json

最后把 package.json 文件中 taro 相关依赖的版本修改为 3.1.0,再重新安装依赖。至此升级结束。

End

最后,衷心感谢为 Taro 从 v3.0 走到 v3.1 贡献过代码的各位同学!


Renovate configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled due to failing status checks.

♻️ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by WhiteSource Renovate. View repository job log here.

@renovate
Copy link
Contributor Author

renovate bot commented Feb 24, 2021

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻️ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you check the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: pnpm-lock.yaml

@codecov
Copy link

codecov bot commented Feb 24, 2021

Codecov Report

Merging #56 (fd6cb3b) into master (4f98a4e) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master      #56   +/-   ##
=======================================
  Coverage   83.37%   83.37%           
=======================================
  Files         116      116           
  Lines        1690     1690           
  Branches      310      310           
=======================================
  Hits         1409     1409           
  Misses        273      273           
  Partials        8        8           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4f98a4e...fd6cb3b. Read the comment docs.

@renovate renovate bot changed the title chore(deps): update dependency @tarojs/taro to v3.1.0 chore(deps): update dependency @tarojs/taro to v3.1.1 Feb 26, 2021
@fjc0k fjc0k merged commit aed3e5c into master Mar 1, 2021
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