CLI tool
taroify/taroify avatar
taroify/taroify

Taroify: the Vant component library rebuilt for Taro React

Taroify Vant Taro API. Taroify is the Taro version of the mobile component library Vant. Both are based on the same visual specifications and provide consistent API interfaces to help developers quickly build small program applications.

1,096 stars120 forksTypeScriptMIT

At a glance

What is it?
Taroify ports Vant's mobile design language to Taro React so one component tree can target mini programs and H5. It is a good fit if you already use Taro; the cost is a young package set and a small ecosystem.
Who is it for?
Adopt Taroify if you are already building on Taro React and want Vant's visual language without porting Vue components by hand. Do not adopt it if your app is Vue-based, or if you need a component library with a long support history and a wide third-party ecosystem.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 9 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 25, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The gap Taroify fills: Vant components without leaving Taro React

Vant is a Vue mobile component library. Taro is a framework that compiles one React or Vue codebase to WeChat mini programs, Alipay mini programs, H5 and several other targets. If you write Taro applications in React and want Vant's look and interaction patterns, you cannot simply install Vant: the components are Vue single-file components. Taroify is the answer to that mismatch. The README describes it as the Taro React version of Vant, built on the same visual specification and offering a near-identical API, so developers can assemble mini program applications quickly. The audience is narrow but real: teams already committed to Taro and React who want a ready-made mobile component set instead of hand-rolling buttons, popups, pickers and form controls. The README claims more than 70 components, TypeScript source with complete type definitions, unit test coverage above 90 percent, and support for theme customization through more than 700 theme variables. Those are the project's own claims, not independent measurements, and the repository's test and coverage tooling (jest, codecov) is at least visible in the layout. What matters for adoption is the shape of the offering: a component library that mirrors a well-known Vue library rather than inventing its own design language.

Monorepo layout: core, icons, hooks, commerce, CLI and MCP

Taroify ships as a set of separately installable packages rather than one bundle. The README lists six: @taroify/core for the UI components and theme system, @taroify/icons for icon components, @taroify/hooks for React hooks aimed at components and business scenarios, @taroify/commerce for e-commerce extension components, @taroify/cli described as an offline component knowledge CLI plus MCP and an Agent Skill, and @taroify/mcp as an existing standalone MCP service. The repository is a pnpm workspace with lerna for versioning and gulp for builds, and the top level contains packages/, site/, scripts/ and a jest configuration. Node >=22.12.0 is declared in the engines field, and the package manager is pinned to [email protected]. That layout tells you two things. First, the split is deliberate: you can take @taroify/core alone without pulling in commerce components or the CLI. Second, the CLI and MCP packages are unusual for a component library, and the README does not explain what the MCP service exposes or how the offline component knowledge is generated. If you care about that surface, treat it as undocumented until you read the site's CLI page.

Installing @taroify/core and rendering a first button

The README's install section is short: Taroify is installed from npm into an existing project. The package name is @taroify/core, and Yarn and pnpm equivalents are given as well.

bash
npm install @taroify/core

After installation, the README's usage example imports the Button component and its style entry separately, then renders it with a color prop. The style import path follows the pattern @taroify/core/<component>/style, so each component carries its own stylesheet.

tsx
import { Button } from "@taroify/core"
import "@taroify/core/button/style"

export default function Index() {
  return <Button color="primary">开始使用 Taroify</Button>
}

What you should see is a primary-colored button with the label text. The README recommends configuring automatic on-demand imports so the source stays cleaner and the build output stays smaller, and it points to the quickstart page for the full configuration. That recommendation matters because the manual style import above is the fallback: without the automatic import setup, every component you use needs its own style line, and a missed one produces an unstyled component rather than an error. The README does not reproduce the bundler configuration for on-demand imports, so the quickstart page is the place to look.

Where Taroify is the wrong tool

The most obvious boundary is the framework. Taroify is React-only, and the README states React support explicitly. If your Taro project is written in Vue, Taroify is not an option; you would use Vant itself, since Taro's Vue path can consume Vue components. A second boundary is the browser and runtime baseline. The README says modern browsers plus Chrome >= 51 and iOS >= 10.0. That is a permissive floor, but it says nothing about the mini program platforms beyond the general claim of multi-platform support, and the README does not enumerate which mini program vendors are tested. If you target an unusual mini program host, you have no documented compatibility list to check against. A third issue is the API-compatibility promise itself. "Near-identical" to Vant is not identical, and the README does not publish a diff of where the APIs diverge. Teams migrating Vant code or Vant documentation examples should expect to verify prop names and event signatures component by component rather than assuming a drop-in match. Finally, the project is young: the release list shows v1.0.4 through v1.0.6 within August 2026, so the 1.x line is recent and the surface is still moving.

Taroify compared with React Vant and Vant Weapp

The README's own ecosystem table names two alternatives worth understanding. React Vant is described as a React mobile component library built with reference to Vant. The difference from Taroify is the runtime target: React Vant is a React library for the web, while Taroify is built for Taro so the same components compile to mini programs and H5. If you only ship a web app, React Vant is the simpler dependency; if you need mini program output, Taroify is the one that fits the compilation model. Vant Weapp is the other comparison, described as Vant's WeChat mini program version. Vant Weapp is native mini program components, not React, so choosing it means writing WeChat-specific markup and giving up a single React codebase across targets. Taroify's trade is the opposite: you keep React and multi-target output, and you accept a smaller, newer library in place of the more established Vant ecosystem. There is no benchmark in the README comparing bundle size or runtime performance across these three, so the decision rests on architecture and target platforms rather than measured numbers.

Maintenance, releases and what the MIT licence means here

The repository is not archived, and its last push was on 2026-08-16, the same date as the v1.0.6 release. Releases v1.0.4, v1.0.5 and v1.0.6 landed on 2026-08-04, 2026-08-09 and 2026-08-16, so the cadence in that window was roughly weekly patch releases. That is a sign of current activity, but it also means the 1.x line is settling: patch-level releases at that frequency usually indicate fixes rather than a frozen API. The root package.json is private and versioned 1.0.3 while the published packages move independently through lerna, so do not read the root version as the version of @taroify/core. The licence is MIT, stated in the README and in the LICENSE file at the repository root. MIT permits commercial use, modification and redistribution provided the copyright notice and permission notice are included; it offers no patent grant and no warranty. That is a permissive baseline, and it is the same licence Vant uses, so mixing the two in one project raises no new licensing question. This is a description of the licence text, not legal advice; if your organisation has an approval process for dependencies, run it.

Working on Taroify itself

If you want to contribute rather than consume, the README gives a local development path. Clone the repository, install dependencies for the root, workspaces and site with the install:node_modules script, then start the H5 component examples and documentation site with pnpm develop.

bash
# 克隆仓库
git clone https://github.com/taroify/taroify.git
cd taroify

# 安装根目录、工作区和官网依赖
pnpm run install:node_modules

# 启动 H5 组件示例与文档站点
pnpm develop

The package.json exposes the surrounding scripts: test runs jest, test:coverage adds coverage, lint runs biome check --fix over packages, and lint:style runs stylelint over the SCSS in packages and site. Builds go through gulp, with build:packages, build:cli and build:www as separate steps behind a combined build script. Note the engine requirement again: Node >=22.12.0 is declared, and the workspace is pinned to pnpm, so npm or yarn installs at the root are not the documented path. The README points to a contribution guide on the site for repository structure, component development and commit conventions, and the repository includes lefthook.yml, which suggests git hooks are part of the workflow.

Editorial conclusion

Adopt Taroify if you are already building on Taro React and want Vant's visual language without porting Vue components by hand. Do not adopt it if your app is Vue-based, or if you need a component library with a long support history and a wide third-party ecosystem. Before committing, check the changelog for the components you need, confirm your Node version satisfies the >=22.12.0 engine requirement, and verify that your bundler handles the per-component style imports the README shows.

Frequently asked questions

What are the benefits of using Taroify?

The README lists more than 70 components, TypeScript source with complete type definitions, unit test coverage above 90 percent, theme customization through more than 700 theme variables, and support for on-demand imports and tree shaking.

Is tap to earn legit?

This question is about a tapping rewards app, not about Taroify, so the project documentation does not answer it.

Which app pays real money for tapping?

This question is about a tapping rewards app, not about Taroify, so the project documentation does not answer it.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/taroify-taroify.svg)](https://hysenlabs.com/projects/taroify-taroify)