OneKey Development Commands
Application Development Commands
PLATFORM-SPECIFIC DEVELOPMENT:
yarn app:desktop- Start desktop Electron app development
- Runtime: 30-60 seconds to start - Common issues: Node version conflicts, missing native dependencies - Troubleshooting: Run yarn clean && yarn reinstall if startup fails
yarn app:web- Start web development server (port 3000)
- Runtime: 15-30 seconds to start - Common issues: Port 3000 already in use, webpack compilation errors - Troubleshooting: Kill existing processes on port 3000, check console for specific errors
yarn app:ext- Start browser extension development
- Runtime: 20-40 seconds to start - Common issues: Manifest v3 validation errors, permission issues - Troubleshooting: Check extension manifest validity, verify content security policy
yarn app:ios- Start iOS mobile development
- Runtime: 1-2 minutes (includes Metro bundler) - Common issues: Xcode setup, simulator issues, pod install failures - Prerequisites: Xcode installed, iOS simulator available
yarn app:android- Start Android mobile development
- Runtime: 1-2 minutes (includes Metro bundler) - Common issues: Android SDK path, emulator setup, gradle build failures - Prerequisites: Android Studio, SDK tools, emulator configured
yarn app:web-embed- Start embeddable components development
- Runtime: 15-30 seconds - Usage: For developing standalone wallet components
Build Commands
PRODUCTION BUILDS (Use for final validation):
yarn app:desktop:build- Build desktop app for all platforms
- Runtime: 5-10 minutes (multi-platform build) - Output: Platform-specific installers in apps/desktop/dist/ - Common issues: Code signing, platform-specific dependencies - Verification: Test installers on target platforms
yarn app:ext:build- Build browser extension
- Runtime: 2-3 minutes - Output: Extension packages in apps/ext/dist/ - Common issues: Manifest validation, content security policy violations - Verification: Load extension in browser for testing
yarn app:web:build- Build web application
- Runtime: 3-5 minutes - Output: Static files in apps/web/dist/ - Common issues: Bundle size limits, missing environment variables - Verification: Serve built files and test functionality
yarn app:native-bundle- Bundle React Native app
- Runtime: 3-5 minutes - Output: Platform-specific bundles - Common issues: Native module linking, Metro bundler errors - Prerequisites: Platform development environment properly configured
Development Tools & Quality Assurance
Pre-commit Commands (Local Development)
Use these for fast pre-commit validation:
yarn lint:staged- Lint only staged files (fast, recommended for pre-commit)yarn tsc:staged- Type check (same as tsc:only)
Pre-commit workflow:
yarn lint:staged && yarn tsc:staged && git commit -m "your message"CI Commands (Full Project Check)
These run in CI pipeline or for comprehensive validation:
yarn lint- Comprehensive linting (TypeScript, ESLint, folder structure, i18n)
- Expected runtime: ~1 minute - Zero tolerance: ALL warnings and errors MUST be fixed - Use case: CI pipeline and comprehensive pre-PR checks
yarn test- Jest test execution
- Use case: CI pipeline and test validation
Other Tools
yarn clean- Clean all build artifacts and node_modulesyarn reinstall- Full clean install (use when dependency issues occur)
Testing
- Jest configuration in
jest.config.js - Test setup in
jest-setup.js - Tests located in
@tests/directories within packages - Mobile tests use
jest-expopreset