UNPKG

@subhajit-gorai/react-native-mediapipe-llm

Version:

React Native binding for Google AI Edge Gallery's MediaPipe on-device LLM inference engine

55 lines (47 loc) 1.8 kB
#!/usr/bin/env node const { execSync } = require('child_process'); const fs = require('fs'); const path = require('path'); console.log('react-native-mediapipe-llm: Running post-install setup...'); const isInNodeModules = __dirname.includes('node_modules'); const projectRoot = isInNodeModules ? path.resolve(__dirname, '..') : path.resolve(__dirname, '..'); function runCommand(command, options = {}) { try { execSync(command, { stdio: 'inherit', cwd: projectRoot, ...options }); } catch (error) { console.warn(`Warning: Failed to run: ${command}`); console.warn('You may need to run setup manually.'); } } try { // Only run setup if this is a fresh install in node_modules if (isInNodeModules) { console.log('Setting up MediaPipe submodule...'); // Check if MediaPipe submodule exists and is initialized const mediapipeDir = path.resolve(projectRoot, 'mediapipe'); const mediapipeGitDir = path.resolve(mediapipeDir, '.git'); if (!fs.existsSync(mediapipeGitDir)) { console.log('Initializing MediaPipe submodule...'); runCommand('git submodule update --init --recursive'); } else { console.log('MediaPipe submodule already initialized'); } console.log('✅ Post-install setup completed'); console.log(''); console.log('Next steps:'); console.log('1. Download a compatible LLM model (.task file)'); console.log('2. Import MediaPipeLLM in your React Native app'); console.log('3. See README.md for usage examples'); } else { console.log('Development mode detected, skipping post-install setup'); } } catch (error) { console.warn('Post-install setup failed:', error.message); console.warn('You may need to run setup manually with: npm run setup'); }