|
|
|
// Functions to add and remove AO features
|
|
|
|
import { execSync, exec } from 'child_process'
|
|
|
|
import { AO_MANUAL_PATH } from './manual.js'
|
|
|
|
|
|
|
|
// Adds a line to .bashrc to make 'ao' an alias for 'ao-cli', to simplify using the AO from the command line
|
|
|
|
export function installAoAlias() {
|
|
|
|
try {
|
|
|
|
execSync('grep "ao=\'ao-cli\'" ~/.bashrc')
|
|
|
|
console.log('You can already type \'ao\' to launch ao-cli; the alias line already exists in ~/.bashrc.')
|
|
|
|
} catch(err) {
|
|
|
|
execSync('echo alias ao=\'ao-cli\' >> .bashrc')
|
|
|
|
console.log('Added alias line to ~/.bashrc. You can now type \'ao\' to launch ao-cli.')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export async function updateManual() {
|
|
|
|
exec('cd ' + process.env.HOME + '/.ao/manual && git pull origin main 2>&1', (error, stdout, stderr) => {
|
|
|
|
//console.log('error:', error, 'stdout:', stdout, 'stderr:', stderr)
|
|
|
|
if(error) {
|
|
|
|
console.log('git pull failed with error:', error)
|
|
|
|
}
|
|
|
|
if(stdout.includes('Already up to date.')) {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
console.log('/nAO User Manual was updated.')
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// Downloads the ao-manual repo to ~/.ao/manual/
|
|
|
|
export function downloadManual() {
|
|
|
|
try {
|
|
|
|
execSync('git clone http://git.coalitionofinvisiblecolleges.org:3009/autonomousorganization/ao-manual.git ' + AO_MANUAL_PATH + ' 2>&1')
|
|
|
|
} catch(err) {
|
|
|
|
switch(err.code) {
|
|
|
|
case 128:
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true
|
|
|
|
}
|