diff --git a/bin/clocal-gcp b/bin/clocal-gcp index e5736df..99b98b1 100755 --- a/bin/clocal-gcp +++ b/bin/clocal-gcp @@ -1,25 +1,32 @@ -#!/usr/bin/env node - -'use strict'; - -const program = require('commander'); - -const commandsArray = require('../src/services/index').commands; +const fs = require('fs'); +const program = require('commander'); +const main = process.cwd() + "/src/services/cli-commands/"; +let commandsArray = []; +const commandNameList = []; program.version('1.0.0').description('Clocal GCP'); -const commandNameList = []; - -commandsArray.map(command => { - commandNameList.push(command.commandName); - program.command(command.commandName).action(command.action); -}); - -program.command('list').action(() => { - const commandNames = commandNameList.reduce((prev, current) => { - return `${prev}\n${current}`; - }, ''); +fs.readdir(main, function(err, items) { + var totalImports = items.length + while (i >= totalImports) { + + const required = require('../src/services/cli-commands/'+items[i]+'/cmd'); + commandsArray = [required]; + + commandsArray.map(command => { + commandNameList.push(command.commandName); + program.command(command.commandName).action(command.action); + }); + i++; + } + + program.command('list').action(() => { + const commandNames = commandNameList.reduce((prev, current) => { + return `${prev}\n${current}`; + }, ''); + console.log(commandNameList.toString()); -}); - -program.parse(process.argv); + }); + + program.parse(process.argv); +});