UNPKG

ziti-sdk-c-nodejs

Version:

Node.js wrapper for OpenZiti C SDK

52 lines (42 loc) • 1.62 kB
#!/usr/bin/env node const { execSync } = require('child_process'); const fs = require('fs'); const path = require('path'); console.log('šŸ”Ø Building Ziti SDK C Node.js wrapper...\n'); // Check if ziti-sdk directory exists const zitiSdkPath = path.join(__dirname, '..', 'ziti-sdk-1.7.8-Windows-AMD64'); if (!fs.existsSync(zitiSdkPath)) { console.error('āŒ ziti-sdk-1.7.8-Windows-AMD64 directory not found!'); console.error('Please make sure you have the compiled ziti-sdk-c in the correct location.'); process.exit(1); } // Check for required files const requiredFiles = [ 'include/ziti/ziti.h', 'include/ziti/zitilib.h', 'lib/ziti.lib', 'lib/ziti.dll' ]; for (const file of requiredFiles) { const filePath = path.join(zitiSdkPath, file); if (!fs.existsSync(filePath)) { console.error(`āŒ Required file not found: ${file}`); process.exit(1); } } console.log('āœ… Ziti SDK files found'); try { // Install dependencies console.log('\nšŸ“¦ Installing dependencies...'); execSync('npm install', { stdio: 'inherit' }); // Build the native addon console.log('\nšŸ”Ø Building native addon...'); execSync('npm run build', { stdio: 'inherit' }); console.log('\nāœ… Build completed successfully!'); console.log('\nYou can now use the package in your Node.js applications.'); console.log('\nExample:'); console.log('const { ZitiClient } = require("./index");'); } catch (error) { console.error('\nāŒ Build failed:', error.message); process.exit(1); }