@@ -6,13 +6,16 @@ const shelljs = require('shelljs');
66const chalk = require ( 'chalk' ) . default ;
77
88const microApp = require ( '@micro-app/core' ) ;
9+ const logger = microApp . logger ;
910
1011const path = require ( 'path' ) ;
1112
1213program
1314 . version ( require ( '../package' ) . version , '-v, --version' )
1415 . option ( 'init' , 'Init a config file' )
15- . option ( 'micros' , 'Show micros list' )
16+ . option ( '-l, --list' , 'Show micros list' )
17+ . option ( '-s, --show <show>' , 'Show alias & shared list' )
18+ . option ( '-u, --update <update>' , 'Update moicros' )
1619 . parse ( process . argv ) ;
1720
1821global . extraArgs = program . args ;
@@ -21,20 +24,94 @@ if (program.init) {
2124 const mainPath = require . resolve ( '@micro-app/core' ) ;
2225 const configPath = path . resolve ( mainPath , '../../' , microApp . CONSTANT . CONFIG_NAME ) ;
2326 const dest = path . resolve ( process . cwd ( ) , microApp . CONSTANT . CONFIG_NAME ) ;
24- shelljs . cp ( '-Rf ' , configPath , dest ) ;
27+ shelljs . cp ( '-R ' , configPath , dest ) ;
2528
26- console . info ( `Init ${ chalk . green ( 'Success' ) } : ${ chalk . yellow ( microApp . CONSTANT . CONFIG_NAME ) } ` ) ;
29+ logger . success ( `Init Fnished, Create : ${ chalk . yellow ( microApp . CONSTANT . CONFIG_NAME ) } ` ) ;
2730}
28- if ( program . micros ) {
31+
32+ if ( program . list ) {
2933 const microAppConfig = microApp . self ( ) ;
34+ if ( ! microAppConfig ) return ;
3035 const micros = microAppConfig . micros ;
3136
32- console . info ( `${ chalk . green ( 'Micros List' ) } :` ) ;
37+ logger . logo ( `${ chalk . green ( 'Micros List' ) } :` ) ;
3338 if ( micros . length ) {
3439 micros . forEach ( item => {
35- console . info ( `--> ${ chalk . yellow ( item ) } `) ;
40+ logger . logo ( ` * ${ chalk . yellow ( item ) } `) ;
3641 } ) ;
3742 } else {
38- console . info ( ' [ null ]' ) ;
43+ logger . logo ( ' [ null ] ' ) ;
44+ }
45+ }
46+
47+ if ( program . show ) {
48+ const microAppConfig = microApp . self ( ) ;
49+ if ( ! microAppConfig ) return ;
50+ const micros = microAppConfig . micros ;
51+ switch ( program . show ) {
52+ case 'alias' :
53+ {
54+ logger . logo ( `${ chalk . green ( 'Alias List' ) } :` ) ;
55+ micros . forEach ( item => {
56+ const microConfig = microApp ( item ) ;
57+ const aliasName = microConfig . name ;
58+ if ( aliasName ) {
59+ const aliasKey = aliasName [ 0 ] !== '@' ? `@${ aliasName } ` : aliasName ;
60+ Object . keys ( microConfig . alias ) . forEach ( key => {
61+ if ( microConfig . alias [ key ] ) {
62+ logger . logo ( ` * ${ chalk . yellow ( `${ aliasKey } /${ key } ` ) } ` ) ;
63+ }
64+ } ) ;
65+ }
66+ } ) ;
67+ // self
68+ const aliasName = microAppConfig . name ;
69+ if ( aliasName ) {
70+ const aliasKey = aliasName [ 0 ] !== '@' ? `@${ aliasName } ` : aliasName ;
71+ Object . keys ( microAppConfig . alias ) . forEach ( key => {
72+ if ( microAppConfig . alias [ key ] ) {
73+ logger . logo ( ` * ${ chalk . yellow ( `${ aliasKey } /${ key } ` ) } ` ) ;
74+ }
75+ } ) ;
76+ }
77+ }
78+ break ;
79+ case 'share' :
80+ case 'shared' :
81+ {
82+ logger . logo ( `${ chalk . green ( 'Shared List' ) } :` ) ;
83+ micros . forEach ( item => {
84+ const microConfig = microApp ( item ) ;
85+ const aliasName = microConfig . name ;
86+ if ( aliasName ) {
87+ const aliasKey = aliasName [ 0 ] !== '@' ? `@${ aliasName } ` : aliasName ;
88+ Object . keys ( microConfig . shared ) . forEach ( key => {
89+ if ( microConfig . shared [ key ] ) {
90+ logger . logo ( ` * ${ chalk . yellow ( `${ aliasKey } /${ key } ` ) } ` ) ;
91+ }
92+ } ) ;
93+ }
94+ } ) ;
95+ // self
96+ const aliasName = microAppConfig . name ;
97+ if ( aliasName ) {
98+ const aliasKey = aliasName [ 0 ] !== '@' ? `@${ aliasName } ` : aliasName ;
99+ Object . keys ( microAppConfig . shared ) . forEach ( key => {
100+ if ( microAppConfig . shared [ key ] ) {
101+ logger . logo ( ` * ${ chalk . yellow ( `${ aliasKey } /${ key } ` ) } ` ) ;
102+ }
103+ } ) ;
104+ }
105+ }
106+ break ;
107+ default :
108+ logger . logo ( `${ chalk . green ( 'Show Details' ) } :` ) ;
109+ logger . logo ( JSON . stringify ( microAppConfig . toJSON ( ) , null , 4 ) ) ;
110+ break ;
39111 }
40112}
113+
114+ if ( program . update ) {
115+ // shelljs.exec('')
116+ logger . logo ( ' Not Support! ' ) ;
117+ }
0 commit comments