1 | const chalk = require( 'chalk' );
|
2 | const inquirer = require( 'inquirer' );
|
3 | const util = require( '../lib/util' );
|
4 | const prompt = require( '../lib/prompt' );
|
5 | const config = require( '../lib/config' );
|
6 | const configProfile = require( '../lib/configProfile' );
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | async function profile( program ) {
|
13 | const optionSelectProfile = program.args[0].select;
|
14 | const optionList = program.args[0].list;
|
15 |
|
16 | if ( optionList ) {
|
17 | let name;
|
18 | const profiles = util.getProfiles();
|
19 | const currentProfileName = util.getCurrentProfileName();
|
20 |
|
21 | profiles.forEach( ( profilePath ) => {
|
22 | const profileName = util.getProfileName( profilePath );
|
23 |
|
24 | if ( currentProfileName === profileName ) {
|
25 | name = chalk`{green.bold ⬤ }${profileName}`;
|
26 | } else {
|
27 | name = chalk`{gray.bold ⬤ }${profileName}`;
|
28 | }
|
29 |
|
30 | console.log( name );
|
31 | });
|
32 |
|
33 | process.exit();
|
34 | }
|
35 |
|
36 | if ( optionSelectProfile ) {
|
37 | const path = util.getProfilePath( optionSelectProfile );
|
38 | config.updateCurrentProfile( path );
|
39 | const currentProfile = util.getCurrentProfileName();
|
40 | console.log( chalk`{green Changed profile to ${currentProfile}.}` );
|
41 | } else {
|
42 | let changeProfilePromptObj;
|
43 | const profileOptionPromptObj = await inquirer.prompt( prompt.getprofileOptionPrompt() );
|
44 |
|
45 | if ( profileOptionPromptObj.answer === 'create' ) {
|
46 | configProfile.create();
|
47 | } else if ( profileOptionPromptObj.answer === 'remove' ) {
|
48 | configProfile.remove();
|
49 | } else {
|
50 | changeProfilePromptObj = await inquirer.prompt( prompt.getChangeProfilePrompt() );
|
51 | config.updateCurrentProfile( changeProfilePromptObj.answer );
|
52 | const currentProfile = util.getCurrentProfileName();
|
53 | console.log( chalk`{green Changed profile to ${currentProfile}.}` );
|
54 | }
|
55 | }
|
56 | }
|
57 |
|
58 | module.exports = profile;
|