How nervjs/taro works
Taro is an open cross-platform, cross-framework application solution. Developers create or configure an app, then compile it for web, mini-program, HarmonyOS, or React Native and run it with target-specific runtimes and APIs. The tree also shows JSX/CSS transforms, shared components, and project-graph analysis as distinct capabilities. The README establishes the broad multi-target workflow; sampled files confirm selected runtime and compiler behavior. Several platform adapters and compiler internals are unsampled, so their connections are marked unverified rather than asserted.
Main entry points: pipeline.ts Vite Mini Pipeline · cli.ts Taro CLI · index.js Babel Preset · schema.ts Project Graph
Components 23
Project Setup
- Taro CLI
packages/taro-cli/src/cli.ts - Project Creation
packages/taro-cli/src/create - App Configuration
packages/taro-cli/src/config/index.ts
Compilation
- Babel Preset
packages/babel-preset-taro/index.js - JSX Transforms
packages/babel-plugin-transform-solid-jsx/src/index.js - CSS Transforms
packages/css-to-react-native/src/index.js - Vite H5 Pipeline
packages/taro-vite-runner/src/h5/pipeline.ts - Vite Mini Pipeline
packages/taro-vite-runner/src/mini/pipeline.ts - Vite Harmony Pipeline
packages/taro-vite-runner/src/harmony/pipeline.ts - Webpack App Loader
packages/taro-loader/src/app.ts - Alipay Adapter
packages/taro-platform-alipay/src/program.ts - WeChat Adapter
packages/taro-platform-weapp/src/program.ts - ASCF Adapter
packages/taro-platform-ascf/src/program.ts
Runtime
- H5 APIs
packages/taro-h5/src/utils/handler.ts - Background Audio
packages/taro-h5/src/api/media/background-audio/BackgroundAudioManager.ts - Harmony Files
packages/taro-platform-harmony/src/apis/files/manager.ts - Harmony C++ Files
packages/taro-platform-harmony-cpp/src/runtime/apis/files/manager.ts - Harmony Storage Cache
packages/taro-platform-harmony-hybrid/src/api/apis/harmony-native/StorageCacheAndSyncProxy.ts - React Native App
packages/taro-runtime-rn/src/app.tsx - Advanced Components
packages/taro-components-advanced/src/components
Project Analysis
- Project Graph
packages/project-graph/src/schema.ts - Graph Query API
packages/project-graph/src/query.ts
Other components
- Developer
Connections 22
- Developer → Taro CLI: creates app
README.md - Taro CLI → Project Creation: offers creation
- Taro CLI → App Configuration: configures project
- Developer → Babel Preset: authors source
README.md - Babel Preset → JSX Transforms: configures transforms
- Developer → CSS Transforms: writes styles
README.md - Developer → Vite H5 Pipeline: builds for web
README.md - Developer → Vite Mini Pipeline: builds mini-app
README.md - Developer → Vite Harmony Pipeline: builds Harmony app
README.md - Developer → Webpack App Loader: builds app
README.md - Vite Mini Pipeline → Alipay Adapter: targets platform
- Vite Mini Pipeline → WeChat Adapter: targets platform
- Vite Mini Pipeline → ASCF Adapter: targets platform
- Background Audio → H5 APIs: uses callbacks
packages/taro-h5/src/api/media/background-audio/BackgroundAudioManager.ts - Developer → H5 APIs: uses APIs
README.md - Developer → Harmony Files: uses APIs
README.md - Developer → Harmony C++ Files: uses APIs
README.md - Developer → Harmony Storage Cache: uses APIs
README.md - Developer → React Native App: runs app
README.md - Developer → Advanced Components: uses components
README.md - Developer → Project Graph: analyzes project
- Project Graph → Graph Query API: defines query types
packages/project-graph/src/query.ts